OpenCV-Python之画多边形

多边形绘制函数

在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)

显示图像如下:

OpenCV-Python之画多边形

注意:

  1. 上述示例中在polylines函数里pts要用[ ]括起来,否则会报错,因为pts为点集
  2. polylines函数连线时会依照pts里给的点的顺序一次连线
  3. 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)

图像显示为:

OpenCV-Python之画多边形

Original: https://blog.csdn.net/weixin_53142585/article/details/126336532
Author: 路过不知道
Title: OpenCV-Python之画多边形

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/637535/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球