OpenCvSharp4.6 中没有MatOfPoint2f ,其它方法实现 List<Point2f> points,转换成 InputArray
时间: 2023-12-21 22:03:39 浏览: 93
在 OpenCvSharp4.6 中,可以使用 InputArray.Create 方法来创建 InputArray 对象,从而将 List<Point2f> 转换成 InputArray。具体的实现代码如下:
```csharp
List<Point2f> points = new List<Point2f>();
// 假设 points 中已经有一些数据
InputArray inputArray = InputArray.Create(points.ToArray());
```
这样就可以将 List<Point2f> 转换成 InputArray 了。
需要注意的是,InputArray.Create 方法还可以接受其它的输入类型,例如 Mat、MatOfPoint2f 等,因此在使用时需要根据具体的情况选择合适的参数类型。
相关问题
OpenCvSharp4.6 (List<Point2f> points,转换成 InputArray
同样地,要将 List<Point2f> 转换成 InputArray,可以使用 MatOfPoint2f 类。具体的实现代码如下:
```csharp
List<Point2f> points = new List<Point2f>();
// 假设 points 中已经有一些数据
MatOfPoint2f mat = new MatOfPoint2f();
mat.FromList(points);
InputArray inputArray = mat;
```
但需要注意的是,OpenCvSharp4.6 中的 MatOfPoint2f 类已经不再提供 FromList 方法,所以需要使用其构造函数来初始化 MatOfPoint2f 对象。具体实现代码如下:
```csharp
List<Point2f> points = new List<Point2f>();
// 假设 points 中已经有一些数据
MatOfPoint2f mat = new MatOfPoint2f(points.ToArray());
InputArray inputArray = mat;
```
这样就可以将 List<Point2f> 转换成 InputArray 了。
opencvsharp4.6 IEnumerable<Point2f> pts 初始化
在使用 OpenCvSharp4.6 的时候,可以使用以下代码初始化 `IEnumerable<Point2f>` 类型的变量 `pts`:
```csharp
// 定义 Point2f 数组
Point2f[] pointsArray = new Point2f[] {
new Point2f(1.0f, 2.0f),
new Point2f(3.0f, 4.0f),
new Point2f(5.0f, 6.0f)
};
// 将 Point2f 数组转换为 IEnumerable<Point2f>
IEnumerable<Point2f> pts = pointsArray;
```
其中,`Point2f` 表示平面坐标系中的一个点,它的构造函数需要传入两个 `float` 类型的参数,分别表示该点的 x 坐标和 y 坐标。在上面的代码中,我们首先定义了一个 `Point2f` 数组 `pointsArray`,然后通过隐式类型转换将它转换为 `IEnumerable<Point2f>` 类型的变量 `pts`。这样,`pts` 就是一个包含了三个平面坐标系中的点的序列。
阅读全文