cv2 在图上绘制出多边形
时间: 2024-08-14 22:06:27 浏览: 84
`cv2`,全称为OpenCV的Python接口,是一个强大的计算机视觉库。在OpenCV中,你可以使用`cv2.drawContours()`函数来在图像上绘制多边形。这个函数需要几个关键参数:
1. `img`:你要操作的图片,可以是BGR格式的numpy数组。
2. `contours`:多边形的轮廓列表,每个轮廓是一个由顶点坐标组成的序列。
3. `colors`:用于填充或描边多边形的颜色。
4. `thickness`:线条的厚度,如果是负数,则描边内部区域。
5. `lineType`:线型,如`cv2.LINE_AA`用于抗锯齿。
下面是一个基本示例,展示如何创建一个红色三角形并绘制到图像上:
```python
import cv2
import numpy as np
# 创建一个蓝色背景的空图像
img = np.zeros((500, 500, 3), dtype=np.uint8)
img[:] = (255, 0, 0) # BGR 颜色
# 定义三个顶点,这里是等腰直角三角形的顶点
points = np.array([[0, 0], [200, 0], [100, 200]], np.int32)
# 使用cv2.drawContours绘制多边形
cv2.drawContours(img, [points], -1, (0, 0, 255), 2) # 红色三角形
# 显示结果
cv2.imshow("Polygon on Image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文