我想在我的C ++项目中将OpenCV(向量)中的点向量转换为C#点列表(Collections :: Generic :: List)。
我写了一些如下代码,但它没有用:
vector<Point2f> oldPoints;
Collections::Generic::List<Windows::Point>^ points;
for (int i = 0; i < oldPoints.rows; i++)
{
points -> Add(Windows::Point(oldPoints.at<Point2f>(i,0).x,oldPoints.at<Point2f>(i,0).y));
}
有人可以帮助我吗?我做错了什么? 我的问题找不到一个好的答案;任何帮助或线索将不胜感激。
答案 0 :(得分:1)
您需要实例化List:
Collections::Generic::List<Windows::Point>^ points = gcnew Collections::Generic::List<Windows::Point>();
答案 1 :(得分:1)
oldPoints
为std::vector
,但您与cv::Mat
一样使用它。正确的代码是:
vector<Point2f> oldPoints;
Collections::Generic::List<Windows::Point>^ points
= gcnew Collections::Generic::List<Windows::Point>();
for (size_t i = 0; i < oldPoints.size(); i++)
{
points->Add(Windows::Point(oldPoints[i].x, oldPoints[i].y));
}