cv2.polylines函数
时间: 2023-10-28 22:08:28 浏览: 53
cv2.polylines函数是OpenCV库中的一个函数,用于在图像中绘制多边形线条。它可以用来绘制任意形状的线条,包括直线、折线和多边形等。
该函数的语法为:cv2.polylines(image, pts, isClosed, color, thickness)
其中,参数image表示要绘制线条的图像;pts表示要绘制的多边形的所有点的坐标,可以是一个numpy数组或者一个列表;isClosed表示是否要将多边形封闭,如果为True,则表示要封闭多边形,否则不封闭;color表示线条的颜色,可以是一个元组或者一个整数;thickness表示线条的宽度,可以是一个整数类型的值。
举个例子,如果要在一张黑色的图像上绘制一个红色的三角形,可以使用如下代码:
```
import cv2
import numpy as np
# 创建一张黑色的图像
img = np.zeros((512, 512, 3), np.uint8)
# 定义三角形的三个顶点
pts = np.array([[10, 100], [100, 50], [200, 200]], np.int32)
# 在图像上绘制三角形
cv2.polylines(img, [pts], True, (0, 0, 255), 3)
# 显示图像
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
运行上述代码后,可以看到一张黑色的图像上绘制了一个红色的三角形。
相关问题
cv2.polylines函数用法
cv2.polylines()函数是OpenCV库中的一个函数,用于绘制多边形(线性轮廓)。
它的语法如下:
```
cv2.polylines(image, pts, isClosed, color, thickness)
```
其中,参数含义如下:
- image:要绘制多边形的图像。
- pts:多边形各个点的坐标列表,每个点坐标是一个二元组(x,y)。
- isClosed:多边形是否闭合,如果为True,则绘制一个封闭的多边形,否则只绘制线段。
- color:绘制的颜色,为一个三元组(B,G,R)。
- thickness:绘制线段或多边形的线宽,如果为-1,则填充整个多边形。
示例代码:
```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()函数绘制多边形
cv2.polylines(img, [pts], True, (0,255,255), 2)
# 显示图像
cv2.imshow("image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
执行结果如下图所示:
![polylines_demo.png](https://img-blog.csdn.net/20180522173917694?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdWt1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/85)
cv2.polylines画平行四边形
cv2.polylines函数是OpenCV库中用于绘制多边形的函数之一。它可以用来画平行四边形,具体的使用方法如下:
```python
import cv2
import numpy as np
# 创建一个空白图像
image = np.zeros((500, 500, 3), dtype=np.uint8)
# 定义四个顶点坐标
pts = np.array([[100, 100], [200, 150], [300, 150], [400, 100]], np.int32)
# 将顶点坐标转换为维度为 (1, 4, 2) 的数组
pts = pts.reshape((-1, 1, 2))
# 绘制平行四边形
cv2.polylines(image, [pts], isClosed=True, color=(0, 255, 0), thickness=2)
# 显示图像
cv2.imshow("Parallel Quadrilateral", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上述代码中,我们首先创建了一个空白图像,然后定义了四个顶点的坐标。接下来,我们将顶点坐标转换为维度为 (1, 4, 2) 的数组,并使用cv2.polylines函数绘制平行四边形。最后,通过cv2.imshow函数显示图像。