opencvsharp用RotatedRect储存的最小外接矩阵的中心坐标怎么得到
时间: 2024-04-17 17:24:45 浏览: 223
在 OpenCvSharp 中,可以使用 `RotatedRect` 类型的对象来表示最小外接矩形。要从 `RotatedRect` 中获取最小外接矩形的中心坐标,可以使用 `Center` 属性。
以下是一个示例代码,演示了如何获取最小外接矩形的中心坐标:
```csharp
using OpenCvSharp;
// 读取图像
Mat image = Cv2.ImRead("image.jpg");
// 检测轮廓并获取最小外接矩形
Point[] contour = { new Point(100, 100), new Point(200, 100), new Point(200, 200), new Point(100, 200) };
RotatedRect minAreaRect = Cv2.MinAreaRect(contour);
// 获取最小外接矩形的中心坐标
Point2f center = minAreaRect.Center;
Console.WriteLine("Center: (" + center.X + ", " + center.Y + ")");
```
上述代码中,我们首先创建了一个包含4个点的轮廓 `contour`,这里只是为了演示目的。然后,我们使用 `Cv2.MinAreaRect` 方法计算轮廓的最小外接矩形,并将结果存储在 `minAreaRect` 变量中。最后,我们通过 `minAreaRect.Center` 属性获取最小外接矩形的中心坐标,并将其输出到控制台。
请注意,`Center` 属性返回的是一个 `Point2f` 类型的对象,其中包含了中心点的 X 和 Y 坐标。你可以根据需要自定义输出的格式和内容。
阅读全文