0

我想在我的 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));
 }

有人可以帮助我吗?我哪里做错了?
我无法为我的问题找到一个好的答案;任何帮助或线索将不胜感激。

4

2 回答 2

1

您需要实例化列表:

Collections::Generic::List<Windows::Point>^ points = gcnew Collections::Generic::List<Windows::Point>();
于 2013-10-23T14:00:47.713 回答
1

oldPointsstd::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));
}
于 2013-10-23T16:37:59.247 回答