我有一个点的ArrayList,它是矩形的角。我想在Java / Android中使用下一个函数。问题是在OpenCV for Android Library中没有像Mat(角落)这样的构造函数。如何将角转换为MatOfPoint2f以获得此功能?
approxPolyDP(cv::Mat(corners), approx, cv::arcLength(cv::Mat(corners), true) * 0.02, true);
答案 0 :(得分:0)
这是Point2d的等效代码,如果您有其他类型的点,请将Point2d和Vec2d更改为适当的类型(例如Point2f和Vec2f for float)。
vector<cv::Point2d> pts(10,Point2d(0,1)); // Your points
Mat m(pts.size(),1,CV_64FC2); // Your matrix
for(int i=0;i<pts.size();++i) // Assign points to matrix
{
m.at<Vec2d>(i)[0]=pts[i].x;
m.at<Vec2d>(i)[1]=pts[i].y;
}