opencvsharp只能找到一个周长
时间: 2024-04-05 07:08:32 浏览: 20
OpenCvSharp是一个基于OpenCV的C#开源计算机视觉库,提供了一系列图像处理和计算机视觉的API。对于找到一个轮廓的周长,您可以使用以下代码:
```csharp
using OpenCvSharp;
class Program
{
static void Main(string[] args)
{
// 读取图片
Mat src = Cv2.ImRead("test.png");
// 转为灰度图
Mat gray = new Mat();
Cv2.CvtColor(src, gray, ColorConversionCodes.BGR2GRAY);
// 二值化
Mat binary = new Mat();
Cv2.Threshold(gray, binary, 0, 255, ThresholdTypes.Binary);
// 寻找轮廓
var contours = Cv2.FindContoursAsArray(binary, RetrievalModes.External, ContourApproximationModes.ApproxSimple);
// 计算第一个轮廓的周长
double perimeter = Cv2.ArcLength(contours[0], true);
// 输出周长
Console.WriteLine("Perimeter: " + perimeter);
}
}
```
在这个例子中,我们首先读取一张图片,然后将其转换为灰度图和二值图。接着使用 `FindContoursAsArray` 函数寻找图像中的轮廓,然后使用 `ArcLength` 函数计算第一个轮廓的周长。最后输出周长即可。
相关推荐
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)