Mat转成List<Point2f> cornersList
时间: 2023-07-09 11:12:41 浏览: 172
<math> <mi> C </ mi> <mi> P </ mi> </ math>的测量-在<math> <mrow> <msubsup> <mrow> <mi> B < / mi> </ mrow> <mrow> <mi> s </ mi> </ mrow> <mrow> <mn> 0 </ mn> </ mrow> </ msubsup> <mo>→</ mo> < mi> ϕ </ mi> <mi>γ</ mi> </ mrow> </ mat
您可以使用以下代码将 `Mat` 类型的角点坐标转换为 `List<Point2f>` 类型:
```csharp
// 创建一个 List<Point2f> 类型的 cornersList 变量
List<Point2f> cornersList = new List<Point2f>();
// 将 Mat 类型的角点坐标转换为 Point2f 类型,并添加到 cornersList 中
for (int i = 0; i < cornersMat.Rows; i++)
{
Point2f point = new Point2f(cornersMat.At<float>(i, 0), cornersMat.At<float>(i, 1));
cornersList.Add(point);
}
```
其中,`cornersMat` 是包含角点坐标的 `Mat` 类型变量。上述代码中,通过遍历每一行的数据,将第一列和第二列分别转换为 `float` 类型的坐标值,并创建一个 `Point2f` 类型的点,最后将点添加到 `cornersList` 中。
转换完成后,您就可以将 `cornersList` 作为 `IEnumerable<Point2f>` 类型的参数传递给其他 OpenCV 函数。
阅读全文