多边形绘制函数
在OpenCV中,用polylines函数画多边形,函数声明如下:
polylines(img, pts, isClosed, color[, thickness[, lineType[, shift]]])
img表示输入图像
pts表示多边形点集
isClosed表示绘制的多线段是否封闭,如果时闭合的(用True表示)函数会将最后一个顶点与第一个顶点连成一条直线
color表示线条颜色,为BGR形式,如蓝色为(255,0,0)
thickness表示线条的粗细程度,默认为0,不能为负数,因为多边形有专门的填充函数
lineType表示线段的类型,默认为LINE_8,可直接用8表示,另外还有LINE_4和LINE_AA
shift表示坐标中的小数位数,默认为0
代码示例如下:
import cv2
import numpy as np
def cv_show(winame, image):
cv2.imshow(winame, image)
cv2.waitKey(0)
cv2.destroyAllWindows()
img=cv2.imread('test.jpg')
pts=np.array([[20, 10], [10, 27], [20, 44], [40, 44], [50, 27], [40, 10]], np.int32)
cv2.polylines(img, [pts], True, (0, 0, 255), 2)
cv_show('Polygon', img)
显示图像如下:
注意:
- 上述示例中在polylines函数里pts要用[ ]括起来,否则会报错,因为pts为点集
- polylines函数连线时会依照pts里给的点的顺序一次连线
- polylines函数一般只需给出img, pts, isClosed, color, thickness5个参数即可
多边形填充函数
在OpenCV中,用fillPoly函数来填充多边形,函数声明如下:
fillPoly(img, pts, color[, lineType[, shift[, offset]]])
img表示输入图像
pts表示多边形点集
color表示多边形颜色,为BGR形式,如蓝色为(255,0,0)
lineType表示线段类型
shift表示坐标中的小数位数,默认为0
offset表示等高线所有点的偏移
函数示例如下:
cv2.fillPoly(img, [pts], (0, 0, 125))
cv_show('fillPolygon',img)
图像显示为:
Original: https://blog.csdn.net/weixin_53142585/article/details/126336532
Author: 路过不知道
Title: OpenCV-Python之画多边形
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/637535/
转载文章受原作者版权保护。转载请注明原作者出处!