📜  使用 OpenCV函数fillPoly() 绘制填充多边形(1)

📅  最后修改于: 2023-12-03 15:06:49.442000             🧑  作者: Mango

使用 OpenCV函数fillPoly() 绘制填充多边形

OpenCV是一个开源的计算机视觉库,提供了一系列的方法和工具,可以方便地进行图像处理和分析。fillPoly()函数是其中一个用于绘制填充多边形的函数。

函数介绍

fillPoly()函数可以绘制一个填充的多边形,其函数原型为:

fillPoly(img, pts, color[, lineType[, shift[, offset]]]) → None

参数说明:

  • img:要绘制多边形的图像。
  • pts:多边形的顶点坐标,需要是一个整数型的numpy数组或者列表。
  • color:绘制多边形的颜色,可以是一个包含三个值的tuple或list。
  • lineType:多边形的线条类型,可以指定为cv2.LINE_AA或cv2.LINE_8等。
  • shift:多边形的值的位移量。
  • offset:多边形的值的偏移量。
示例代码

下面的示例展示了如何使用fillPoly()函数绘制一个填充的多边形。

import cv2
import numpy as np

# 创建空的黑色图像
img = np.zeros([512, 512, 3], dtype=np.uint8)

# 定义四个顶点坐标
pts = np.array([
    [
        [100, 100],
        [200, 100],
        [300, 200],
        [200, 300]
    ]
])

# 绘制填充的多边形
cv2.fillPoly(img, pts, (255, 0, 0))

# 显示绘制的图像
cv2.imshow('image', img)
cv2.waitKey(0)

运行上面的代码,可以在窗口中看到绘制的蓝色填充的多边形。注意,这里的pts参数是一个三维数组,其中第一维度表示多边形的数量,第二维度表示顶点的数量,第三维度表示坐标的维数。

总结

fillPoly()函数是OpenCV的一个重要绘图函数,可用于绘制填充的多边形。其函数参数需要注意,多边形的坐标需要是一个三维数组。