opencvsharp使用FillPoly填充轮廓
时间: 2023-07-11 11:32:08 浏览: 412
使用OpenCvSharp的FillPoly方法可以填充指定轮廓的多边形区域。以下是使用FillPoly方法的示例代码:
```csharp
using OpenCvSharp;
using System.Collections.Generic;
// 定义多边形顶点
Point[] vertices = new Point[]
{
new Point(100, 100),
new Point(300, 100),
new Point(200, 200)
};
// 创建空白图像
Mat image = Mat.Zeros(new Size(400, 400), MatType.CV_8UC3);
// 填充多边形
Cv2.FillPoly(image, new List<Point[]> { vertices }, new Scalar(0, 255, 0));
// 显示图像
Cv2.ImShow("Filled Image", image);
Cv2.WaitKey(0);
```
在上述代码中,我们使用了OpenCvSharp的Point类来定义多边形的顶点,并使用Mat类创建了一个空白图像。然后,我们使用FillPoly方法来填充指定的多边形区域,并将结果显示在屏幕上。
需要注意的是,FillPoly方法的第二个参数需要传入一个Point类型的数组的列表,因为可能存在多个轮廓需要填充。在本例中,我们只填充了一个多边形,因此将其放在了一个列表中。同时,我们还需要指定填充颜色,这里使用了绿色(0, 255, 0)。
希望这个回答能够解决你的问题。
阅读全文