错误 CS0029 无法将类型“OpenCvSharp.Point2f”隐式转换为“OpenCvSharp.Point2f[]” zeroPList = new List<Point2f>(); for (int i = 0; i < subPixelEdges.Rows; i++) { Point2f[] points = subPixelEdges.Get<Point2f>(i, 0); zeroPList.AddRange(points); }
时间: 2024-01-24 13:05:05 浏览: 162
OpenCVSharp.zip
这个编译错误提示是因为在以下代码中,Get方法返回的对象类型为 `OpenCvSharp.Point2f`,但是在 `Point2f[]` 中不能直接存放 `Point2f` 类型的对象,因此需要将其转换为 `Point2f[]` 类型:
```csharp
Point2f[] points = subPixelEdges.Get<Point2f>(i, 0);
```
可以将上述代码修改为以下形式,使用 `ToArray()` 方法将 `IEnumerable<Point2f>` 类型的对象转换为 `Point2f[]` 类型:
```csharp
Point2f[] points = {subPixelEdges.Get<Point2f>(i, 0)};
```
修改后的代码如下:
```csharp
zeroPList = new List<Point2f>();
for (int i = 0; i < subPixelEdges.Rows; i++)
{
Point2f[] points = {subPixelEdges.Get<Point2f>(i, 0)};
zeroPList.AddRange(points);
}
```
这样就可以避免编译错误了。
阅读全文