youcans 的 OpenCV 例程 300篇254.绘制标记
Posted YouCans
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了youcans 的 OpenCV 例程 300篇254.绘制标记相关的知识,希望对你有一定的参考价值。
【youcans 的 OpenCV 例程 300篇】254. OpenCV 绘制标记
7.1 绘图函数基本参数
OpenCV提供了绘图功能,可以在图像上绘制直线、矩形、圆、椭圆等各种几何图形。
函数 cv.line()、cv.rectangle()、cv.circle()、cv.polylines() 等分别用来在图像中绘制直线、矩形、圆形、多边形等几何形状,这些绘图函数中有一些的设置参数,介绍如下:
- img:输入输出图像,格式不限
- color:绘图线条的颜色,(b,g,r) 格式的元组,或者表示灰度值的标量
-
- thickness:绘制线条的粗细,默认值 1px,-1 表示内部填充
- lineType:绘制线段的线性,默认为 LINE_8
- cv.FILLED:内部填充(实心图形)
- cv.LINE_4:4 邻接线型
- cv.LINE_8:8 邻接线型
- cv.LINE_AA:抗锯齿线型,图像更平滑
- shift:点坐标的小数位数,默认为 0
7.2 绘制标记
函数原型:
函数 cv.drawMarker 用来在图像上的指定位置绘制标记。
cv.drawMarker(img, position, color[, markerType=MARKER_CROSS, markerSize=20, thickness=1, line_type=8]) → img
参数说明:
- img:输入输出图像,允许单通道灰度图像或多通道彩色图像
- position:标记点的坐标,(x1, y1) 格式的元组
- color:绘制标记的颜色
- markerType:标记类型,默认为 cv.MARKER_CROSS(十字标记)
- cv.MARKER_CROSS:十字标记(类似加号),+
- cv.MARKER_TILTED_CROSS:,倾斜的十字标记(类似乘号), × \\times ×
- cv.MARKER_STAR:星形标记(类似米字), ★ \\bigstar ★
- cv.MARKER_DIAMOND:钻石菱形标记, ⋄ \\diamond ⋄
- cv.MARKER_SQUARE:方块标记, □ \\Box □
- cv.MARKER_TRIANGLE_UP:上三角标记, △ \\triangle △
- cv.MARKER_TRIANGLE_DOWN:下三角标记, ▽ \\triangledown ▽
- markerSize:标记的轴向长度,默认值 20pixels
注意事项:
- 绘图操作会直接对传入的图像 img 进行修改,是否接受函数返回值都可以。如果要保持输入图像不变则要用 img.copy() 进行复制。
例程 A4.15:在图像上绘制标记
本例程示例在图像上绘制标记。
# A4.15 绘制标记
img = np.ones((600, 800, 3), np.uint8)*205
for i in range(7): # 7 种标记
cx = 100*(i+1)
color = (0,0,255)
cv.drawMarker(img, (cx, 100), color, markerType=i, markerSize=10)
cv.drawMarker(img, (cx, 200), color, markerType=i, markerSize=20)
cv.drawMarker(img, (cx, 300), color, markerType=i, markerSize=30)
cv.drawMarker(img, (cx, 400), color, markerType=i, markerSize=40)
cv.drawMarker(img, (cx, 500), color, markerType=i, markerSize=50)
plt.figure(figsize=(9, 4))
plt.subplot(121), plt.title("Draw marker"), plt.axis('off')
plt.imshow(cv.cvtColor(img, cv.COLOR_BGR2RGB))
plt.subplot(122), plt.title("Draw marker"), plt.axis('off')
plt.imshow(cv.cvtColor(img, cv.COLOR_BGR2RGB))
plt.tight_layout()
plt.show()
【本节完】
版权声明:
youcans@xupt 原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/128466627)
Copyright 2022 youcans, XUPT
Crated:2023-1-2
以上是关于youcans 的 OpenCV 例程 300篇254.绘制标记的主要内容,如果未能解决你的问题,请参考以下文章
youcans 的 OpenCV 例程 300篇244. 特征检测之 BRIEF 特征描述
youcans 的 OpenCV 例程 300篇244. 特征检测之 BRIEF 特征描述
OpenCV 例程 300篇255.OpenCV 实现图像拼接
OpenCV 例程 300篇255.OpenCV 实现图像拼接