fillpoly、drawpoly不接受三个参数该怎么解决
时间: 2023-07-31 08:11:02 浏览: 44
在 OpenCV 中,`fillPoly` 和 `drawPoly` 函数的参数列表中,都不接受三个参数。如果你想要绘制或填充一个多边形,可以按照以下步骤处理:
1. 定义多边形的顶点坐标,将它们存储在一个数组或向量中。
2. 创建一个空白的图像,其大小与你要绘制的图像相同。
3. 使用 `polylines` 函数绘制多边形轮廓线,这个函数可以接受一个数组或向量作为参数,并且可以设置线条宽度和颜色。
4. 使用 `fillPoly` 函数根据多边形轮廓线填充多边形,这个函数也可以接受一个数组或向量作为参数,并且可以设置填充颜色。
下面是一个示例代码,其中 `points` 是多边形的顶点坐标:
```python
import cv2
import numpy as np
# 定义多边形的顶点坐标
points = np.array([[100, 100], [300, 100], [300, 300], [100, 300]])
# 创建空白图像
img = np.zeros((400, 400, 3), np.uint8)
# 绘制多边形轮廓线
cv2.polylines(img, [points], True, (0, 255, 0), thickness=2)
# 填充多边形
cv2.fillPoly(img, [points], (0, 0, 255))
# 显示图像
cv2.imshow("image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
你可以根据自己的需要修改代码,以满足你的要求。