OpenCV图形和文字的绘制和填充
发布日期:2021-05-14 15:16:26 浏览次数:29 分类:精选文章

本文共 1775 字,大约阅读时间需要 5 分钟。

图形和文字的绘制与填充

1. 视频教程

如果你需要更直观地学习图形绘制和文字填充,可以通过以下平台找到相关教程:B站、网易云课堂、腾讯课堂等。

2. 代码地址

完整的代码示例可以在以下平台上找到:Gitee、GitHub。

3. 存储地址

如果需要将作品保存至云端,可以上传至Google云存储或百度云。


1. 图形绘制

要实现图形绘制,可以使用OpenCV库编写简单的图形绘制代码。以下是一个常用的代码示例:

#include 
int main() { // 创建一个512x512的黑色背景 Mat canvas = Mat::zeros(Size(512, 512), CV_8UC3); namedWindow("canvas", WINDOW_AUTOSIZE); imshow("canvas", canvas); // 绘制线段 Point start(10, 10), end(500, 500); line(canvas, start, end, Scalar(0, 255, 255), 1, LINE_8); // 绘制矩形 Rect rect(50, 50, 200, 200); rectangle(canvas, rect, Scalar(0, 255, 0), 1, 8); // 绘制圆 circle(canvas, Point(256, 256), 100, Scalar(0, 0, 255), 1, 8); imshow("result", canvas); waitKey(0); return 0;}

图片: 图示显示了一些常用的图形绘制效果。


2. 图形填充

如果你需要为图形填充颜色,可以通过调整绘图函数中的填充方式来实现。如果填充方式为-1,会填充整个图形区域。

代码示例:

int main() {    Mat canvas = Mat::zeros(Size(512, 512), CV_8UC3);    namedWindow("canvas", WINDOW_AUTOSIZE);    imshow("canvas", canvas);    Point start(10, 10), end(500, 500);    line(canvas, start, end, Scalar(0, 255, 255), 1, LINE_8);    Rect rect(100, 100, 200, 200);    rectangle(canvas, rect, Scalar(0, 255, 0), -1, 8);  // 填充整个矩形    circle(canvas, Point(256, 256), 100, Scalar(0, 0, 255), -1, 8);    imshow("result", canvas);    waitKey(0);    return 0;}

图片: 这段代码展示了如何用填充颜色的功能为图形区域填充颜色。


3. 文本填充

如果需要在图像中添加文字,可以使用OpenCV的putText函数。以下是一个简单的示例:

int main() {    Mat canvas = Mat::zeros(Size(512, 512), CV_8UC3);    namedWindow("canvas", WINDOW_AUTOSIZE);    imshow("canvas", canvas);    Point text_pos(100, 100);    putText(canvas, "Major", text_pos, FONT_HERSHEY_PLAIN, 1.0, Scalar(0, 255, 255), 2, 8);    imshow("result", canvas);    waitKey(0);    return 0;}

图片: 这段代码显示了如何在图像中添加带有特定位置和字体样式的文字。


注意事项

  • 可以根据需要调整颜色、字体和字号等参数。
  • 如果需要保存图像,可以使用imwrite函数将图像保存为图片文件。
上一篇:OpenCV图像通道的合并与分离
下一篇:像素信息

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2025年05月14日 10时15分46秒