pythoncv2.polylines
时间: 2023-10-19 08:14:55 浏览: 152
cv2.polylines() 是 OpenCV 中用于绘制多边形线条的函数。它可以绘制任意形状的线条,例如矩形、三角形、正方形等等。
函数的参数包括:
- img:要绘制线条的图片
- pts:多边形的顶点坐标
- isClosed:一个布尔值,表示多边形是否闭合
- color:线条的颜色
- thickness:线条的粗细
- lineType:线条的类型,可以是 8 连通或 4 连通,默认是 8 连通
以下是一个示例代码:
```python
import cv2
import numpy as np
# 创建一张黑色的图片
img = np.zeros((512, 512, 3), np.uint8)
# 定义多边形的顶点坐标
pts = np.array([[10, 50], [400, 50], [90, 200], [50, 500]], np.int32)
# 绘制多边形线条
cv2.polylines(img, [pts], True, (0, 255, 255), 3)
# 显示图片
cv2.imshow("Image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
该代码创建了一张 512x512 的黑色图片,并在其中绘制了一个多边形。运行代码后,你可以看到绘制好的多边形线条。
相关问题
python中cv2.polylines
cv2.polylines函数是OpenCV中用于绘制多边形的函数。它可以绘制一个或多个线条,通过连接给定的点集来构成多边形。这个函数的语法如下:
```python
cv2.polylines(img, pts, isClosed, color[, thickness[, lineType[, shift]]])
```
参数说明:
- img:需要绘制多边形的图像。
- pts:多边形的顶点集合,可以是一个NumPy数组或者一个Python列表。
- isClosed:一个布尔值,用于指定是否需要封闭多边形。如果为True,表示需要封闭多边形;如果为False,表示不需要封闭多边形。
- color:绘制多边形的颜色。
- thickness:线条的粗细,默认值为1。
- lineType:线条的类型,默认值为cv2.LINE_8,表示8邻域连接线。
- shift:坐标点小数点位数,通常为0。
示例代码:
```python
import cv2
import numpy as np
# 创建一个黑色的图像
img = np.zeros((512, 512, 3), np.uint8)
# 定义多边形的顶点
pts = np.array([[10, 50], [400, 50], [90, 200], [50, 500]], np.int32)
# 绘制多边形
cv2.polylines(img, [pts], True, (0, 255, 255), 2)
# 显示图像
cv2.imshow("image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这段代码会在一个黑色的图像上绘制一个黄色的多边形。
cv2.polylines()
cv2.polylines()是OpenCV中的一个函数,用于在图像上绘制多边形线条。它的语法如下:
cv2.polylines(img, pts, isClosed, color, thickness, lineType, shift)
其中,参数含义如下:
- img:输入图像。
- pts:要绘制的多边形的顶点坐标。pts应该是一个numpy数组,其形状为(N,1,2),其中N是顶点数。
- isClosed:一个布尔值,表示多边形是否闭合。如果为True,则表示多边形的最后一条线段将与第一条线段相连,形成一个封闭的多边形;如果为False,则表示多边形的最后一条线段不与第一条线段相连,形成一个开放的多边形。
- color:线条颜色,可以是一个三元组或四元组。对于RGB图像,color应该是一个三元组,分别表示红、绿、蓝三个通道的值;对于带有alpha通道的图像,color应该是一个四元组,分别表示红、绿、蓝、alpha四个通道的值。
- thickness:线条宽度,以像素为单位。
- lineType:线条类型,可以是cv2.LINE_4、cv2.LINE_8、cv2.LINE_AA之一,分别对应4连通、8连通和抗锯齿线条。
- shift:坐标点小数点位数。
例如,下面的代码演示了如何在一张黑色背景图像上绘制一个正方形:
```python
import numpy as np
import cv2
# 创建一个黑色背景图像
img = np.zeros((512, 512, 3), np.uint8)
# 定义正方形的四个顶点坐标
pts = np.array([[100, 100], [100, 200], [200, 200], [200, 100]], np.int32)
# 绘制多边形线条
cv2.polylines(img, [pts], True, (0, 255, 0), 2)
# 显示图像
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
执行上述代码,会弹出一个窗口显示出绘制的正方形。
阅读全文