我正在尝试
使用 opencv java api来实现以下问题的示例代码。为了findContours(gray, contours, CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE);
在 java 中实现,我使用了这种语法Imgproc.findContours(gray, contours, new Mat(), Imgproc.RETR_LIST, Imgproc.CHAIN_APPROX_SIMPLE);
。
所以现在轮廓应该是List<MatOfPoint> contours = new ArrayList<MatOfPoint>();
而不是vector<vector<cv::Point> > contours;
。
然后我需要实现这个approxPolyDP(Mat(contours[i]), approx, arcLength(Mat(contours[i]), true)*0.02, true);
。在 java api 中,Imgproc.approxPolyDP 接受参数为approxPolyDP(MatOfPoint2f curve, MatOfPoint2f approxCurve, double epsilon, boolean closed)
. 如何将 MatOfPoint 转换为 MatOfPoint2f?
或者有没有办法使用与 c++ 接口相同的向量来实现这一点。非常感谢任何建议或示例代码。