可以介绍一下cv2.fillPoly,以及填写的参数吗?
时间: 2024-02-05 12:12:02 浏览: 111
C语言fillpoly函数详解
当然可以。cv2.fillPoly函数是在给定的图像上填充指定的多边形区域。它有如下的参数:
cv2.fillPoly(img, pts, color[, lineType[, shift[, offset]]]) -> img
其中,img是输入的图像,pts是各个多边形的顶点坐标,color是要填充的颜色(可以是单个值或者RGB、BGR值),lineType是多边形边界的线型,shift是点坐标的小数部分位数(默认为0),offset是所有顶点坐标的偏移量(默认为(0,0))。
例如,以下代码将在一张黑色背景上绘制一个三角形,并将三角形内部填充为红色:
```
import cv2
import numpy as np
# 创建黑色背景
img = np.zeros((300, 300, 3), dtype=np.uint8)
# 定义三角形的三个顶点
pts = np.array([[140, 100], [100, 200], [200, 200]], dtype=np.int32)
# 填充三角形
cv2.fillPoly(img, [pts], (0, 0, 255))
# 显示图像
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这段代码中,我们首先创建一张大小为300x300的黑色背景。然后定义三角形的三个顶点,并将其转换为numpy数组格式。最后使用cv2.fillPoly函数将三角形内部填充为红色。执行后,我们可以看到一个红色的三角形显示在窗口中。
阅读全文