本示例使用的OpenCV版本是:4.1.1
运行Python的编辑器:Jupyter notebook
示例目的
使用cv.drawMarker
在图片上进行标记。
实现代码
1,加载并显示图片
import cv2
import matplotlib.pyplot as plt
img = cv2.imread('MakerOnsite-Logo.png')
plt.imshow(img)
显示读取到的图像
2,给图像添加各种标记
#在图像的指定位置添加 星标记
img = cv2.drawMarker(img, (50, 50), (0, 255, 255), markerType=cv2.MARKER_STAR,markerSize=20,thickness=3)
#在图像的指定位置添加 棱形标记
img = cv2.drawMarker(img, (50, 450), (0, 255, 255), markerType=cv2.MARKER_DIAMOND,markerSize=20,thickness=3)
#在图像的指定位置添加 十字标记
img = cv2.drawMarker(img, (450, 450), (0, 255, 255), markerType=cv2.MARKER_CROSS,markerSize=20,thickness=3)
#在图像的指定位置添加 X标记
img = cv2.drawMarker(img, (450, 50), (0, 255, 255), markerType=cv2.MARKER_TILTED_CROSS,markerSize=20,thickness=3)
3,显示图像
# 显示图像
plt.imshow(img)
显示添加标记后的图像
程序说明
本示例,主要使用cv.drawMarker
在图像上添加标记。
cv.drawMarker 语法
img = cv.drawMarker( img, position, color[, markerType[, markerSize[, thickness[, line_type]]]] )
参数概述
-
img
- 输入的图像 -
position
- 标记的位置坐标(x,y) -
color
- 标记颜色 - (可选)
markerType
- 标记类型,支持类型列表,请参考:https://docs.opencv.org/4.1.1/d6/d6e/group__imgproc__draw.html#ga0ad87faebef1039ec957737ecc633b7b - (可选)
markerSize
- 标记大小 - (可选)
thickness
- 线宽 - (可选)
lineType
- 线段类型。请参见LineTypes https://docs.opencv.org/trunk/d6/d6e/group__imgproc__draw.html#gaf076ef45de481ac96e0ab3dc2c29a777
详细的cv.drawMarker
请参考 https://docs.opencv.org/4.1.1/d6/d6e/group__imgproc__draw.html#ga644c4a170d4799a56b29f864ce984b7e