cv2.polylines()绘制五角星
时间: 2023-10-27 08:08:15 浏览: 75
可以使用以下代码来绘制五角星:
```python
import cv2
import numpy as np
# 创建一个黑色的图像
img = np.zeros((512, 512, 3), np.uint8)
# 定义五角星的坐标
pts = np.array([[256, 100], [170, 400], [430, 160], [70, 160], [340, 400]], np.int32)
# 绘制五角星
cv2.polylines(img, [pts], True, (0, 255, 0), thickness=3)
# 显示图像
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在代码中,我们首先创建了一个黑色的图像,然后定义五角星的坐标。接着使用`cv2.polylines()`函数绘制五角星,其中参数`img`是我们要绘制的图像,`[pts]`是一个包含所有顶点坐标的数组,`True`表示我们要闭合多边形,`(0, 255, 0)`是指定绘制的颜色,`thickness=3`表示绘制线条的宽度为3。
最后使用`cv2.imshow()`函数显示图像,并使用`cv2.waitKey()`等待按键事件,最后使用`cv2.destroyAllWindows()`关闭所有窗口。
相关问题
cv2.putText()绘制五角星
`cv2.putText()`函数是用来在图像上绘制文本的。它不适合绘制图形,比如五角星。要绘制五角星,可以使用`cv2.polylines()`函数来绘制多边形。
下面是一个绘制五角星的示例代码:
```python
import cv2
import numpy as np
# 创建一个黑色的图像
img = np.zeros((512, 512, 3), np.uint8)
# 定义五角星的顶点坐标
pts = np.array([(256, 50), (186, 328), (25, 200), (481, 200), (320, 328)], np.int32)
# 绘制五角星
cv2.polylines(img, [pts], True, (0, 255, 255), 3)
# 显示图像
cv2.imshow("Star", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个示例中,我们创建了一个黑色的图像,并定义了五角星的顶点坐标。然后使用`cv2.polylines()`函数绘制了五角星,并将其显示出来。
绘制多边形时,需要将顶点坐标组成一个数组,并将其传递给`cv2.polylines()`函数。最后一个参数表示线条的颜色和粗细。如果将最后一个参数设置为负数,则表示填充多边形。
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函数显示图像。