2013-08-29 71 views
1

我有一个ArrayList的矩形的角点。我想在Java/Android中使用下一个函数。问题是在Android库的OpenCV中没有像Mat(角)这样的构造函数。我怎样才能将角落转换为MatOfPoint2f这个功能?Java中的OpenCV approxPolyDP函数参数

approxPolyDP(cv::Mat(corners), approx, cv::arcLength(cv::Mat(corners), true) * 0.02, true); 

回答

0

这是等效的Point2D代码,如果有其他类型的点,改变的Point2D和Vec2d到适当的类型(例如Point2f和Vec2f浮法)。

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; 
} 
+0

OP正在寻求Java解决方案。 –