IEnumerable<Point2f> inputCorners; 初始化
时间: 2023-07-02 07:15:27 浏览: 97
您可以使用以下代码初始化 `IEnumerable<Point2f> inputCorners`:
```csharp
List<Point2f> cornersList = new List<Point2f>();
// 添加点到 cornersList 中
cornersList.Add(new Point2f(x1, y1));
cornersList.Add(new Point2f(x2, y2));
// ...
// 将 cornersList 转换为 IEnumerable<Point2f>
IEnumerable<Point2f> inputCorners = cornersList;
```
其中,`x1`, `y1`, `x2`, `y2` 等为点的坐标。您可以根据需要添加更多点,并将它们添加到 `cornersList` 中。最后,使用 `cornersList` 初始化 `IEnumerable<Point2f>` 类型的 `inputCorners` 变量即可。
相关问题
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` 就是一个包含了三个平面坐标系中的点的序列。
opencvsharp Point[][] contours转换成IEnumerable<Point2f>
可以使用以下代码将 `Point[][]` 转换为 `IEnumerable<Point2f>`:
```csharp
using OpenCvSharp;
// contours 是 Point[][] 类型的变量
IEnumerable<Point2f> points = contours.SelectMany(contour => contour.Select(point => new Point2f(point.X, point.Y)));
```
这里使用了 LINQ 的 `SelectMany()` 方法将 `Point[][]` 中的所有点转换为 `Point2f` 类型,并将它们合并为一个 `IEnumerable<Point2f>` 对象。注意需要在代码中引用 `OpenCvSharp` 命名空间。
阅读全文