opencv3.4+python3.6 中文教程3之绘图操作

目标
在图像上绘制不同的几何图形。
cv.line(), cv.circle() , cv.rectangle(), cv.ellipse(), cv.putText() 等函数的用法。
主要参数
img : 目标图像
color : 颜色元祖,按照BGR排列,如(255,0,0)即为blue蓝色。
Thickness: 以像素数代表宽度,-1代表实心填充。
lineType : 线型,cv.LINE_4、cv.LINE_8、cv.LINE_AA 。
划线
如:cv.line(img,(pnt1),(pnt2),(255,0,0),5)
pnt1代表起点,可以用(25,35)来表示。
pnt2代表终点。
(255,0,0)代表颜色,按照BGR排列,蓝色。
5:代表线宽。
画矩形
如:cv.rectangle(img,(pnt_top_left),(pnt_bottom_right),(0,255,0),3)
pnt_top_left:左上角坐标
pnt_bottom_right:右下角坐标
(0,255,0):颜色,BGR,green绿色。
3:代表宽度
画圆
如:cv.circle(img,(center), radio, (0,0,255), -1)
center:圆心坐标
radio:半径,以像素值表示
画椭圆
cv.ellipse(img, center, axes, angle, startAngle, endAngle, color[, thickness[, lineType[, shift]]])
如:cv.ellipse(img,(center),(100,50),0,0,180,255,-1)
center:代表圆心坐标。
axes(100,50)代表长轴和短轴。
第一个0,angle代表椭圆沿顺时针方向的旋转角度。
startAngle, endAngle:代表椭圆的起始角度和终止角度,逆时针。
opencv3.4+python3.6 中文教程3之绘图操作_第1张图片opencv3.4+python3.6 中文教程3之绘图操作_第2张图片
绘多边形
我们首先需要建立一个坐标矢量的列表,把多边形的顶点按照需要的格式规整好,如下:​
pts = np.array([[10,5],[20,30],[70,20],[50,10]], np.int32)
pts = pts.reshape((-1,1,2))
cv.polylines(img,[pts],True,(0,255,255))
true代表形成一个封闭的多边形,false代表只是连接各顶点,而非封闭。
用cv.polylines函数来绘制多条直线比用cv.line()函数的效率要高。
给图片增加文字
font = cv.FONT_HERSHEY_SIMPLEX
cv.putText(img,’OpenCV’,(start_pnt), font, 4,color,2,cv.LINE_AA)
其中OpenCV代表要添加的文字,opencv目前还不支持中文。
4代表文字高度的比例。
2代表线宽。
cv.LINE_AA:代表线宽。
实例
opencv3.4+python3.6 中文教程3之绘图操作_第3张图片

你可能感兴趣的:(机器视觉算法与应用,python3.6,opencv3.3)