
OpenCV图形和文字的绘制和填充
发布日期:2021-05-14 15:16:26
浏览次数:29
分类:精选文章
本文共 1775 字,大约阅读时间需要 5 分钟。
图形和文字的绘制与填充
1. 视频教程
如果你需要更直观地学习图形绘制和文字填充,可以通过以下平台找到相关教程:B站、网易云课堂、腾讯课堂等。2. 代码地址
完整的代码示例可以在以下平台上找到:Gitee、GitHub。3. 存储地址
如果需要将作品保存至云端,可以上传至Google云存储或百度云。1. 图形绘制
要实现图形绘制,可以使用OpenCV库编写简单的图形绘制代码。以下是一个常用的代码示例:
#includeint 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
函数将图像保存为图片文件。