📜  Python OpenCV – cv2.polylines() 方法(1)

📅  最后修改于: 2023-12-03 15:18:57.320000             🧑  作者: Mango

Python OpenCV – cv2.polylines() 方法

简介

在Python的OpenCV库中,cv2.polylines()方法是用于在图像上绘制多边形的函数。这个函数可以用来绘制不同线宽的多边形,也可以用于绘制带有闭合或开放属性的多边形。

语法

以下是cv2.polylines()函数的语法:

cv2.polylines(img, pts, isClosed, color, thickness, lineType, shift)

参数说明:

  • img:需要在其上绘制多边形的图像。
  • pts:一个多维数组,其中包含要绘制的多边形的顶点。
  • isClosed:这是一个布尔值,用于指定绘制的多边形是否闭合。如果isClosed=True,则绘制的多边形是闭合的,否则是开放的。
  • color:用于绘制多边形的颜色。可以是元组或标量。
  • thickness:一个整数,表示绘制多边形的边框宽度。默认值为1。
  • linetype:表示边框类型。默认值为8。
  • shift:用于指定顶点坐标中小数位数的位移。默认值为0。
示例代码

以下示例代码演示了如何使用cv2.polylines()方法绘制一个心形多边形:

import numpy as np
import cv2

# 创建一个空的黑色图像
img = np.zeros((512, 512, 3), np.uint8)

# 定义一个心形多边形
pts = np.array([[190, 200], [210, 170], [290, 170], [310, 200], [290, 230], [210, 230]], np.int32)

# 将pts顶点变成3通道
pts = pts.reshape((-1, 1, 2))

# 绘制心形多边形
cv2.polylines(img, [pts], True, (0, 0, 255), 3)

# 显示图像
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
输出

运行上面的示例代码会创建以下窗口显示绘制的多边形图像:

heart-shape-polygon

结论

cv2.polylines()方法是一种非常有用的函数,用于在图像上绘制多边形。它可以用于许多不同的应用程序,例如计算机视觉、机器人学和图形学。在处理图像时,可以使用它来创建多边形掩码和轮廓,这些掩码和轮廓可以用于图像分割和目标检测。