将MatOfPoint2f转换为MatOfPoint

3

我正在为Android开发一个OpenCV项目。我需要将一个变量从MatOfPoint2f转换为MatOfPoint。以下是我的代码的相关部分:approx的类型是MatOfPoint2f,我需要进行转换,因为drawContours使用的是类型为ArrayList<MatOfPoint>

Imgproc.approxPolyDP(newMtx, approx, 0.02*peri, true);
approxMatOfPoint = (MatOfPoint) approx; // to convert
ArrayList<MatOfPoint> p = new ArrayList<>();
p.add(approxMatOfPoint);
Imgproc.drawContours(img, p, 0, new Scalar(0,255,0), 2);
1个回答

7
我解决了以下问题:
MatOfPoint approxf1 = new MatOfPoint();
...

Imgproc.approxPolyDP(newMtx, approx, 0.02*peri, true);
approx.convertTo(approxf1, CvType.CV_32S);
List<MatOfPoint> contourTemp = new ArrayList<>();
contourTemp.add(approxf1);
Imgproc.drawContours(img, contourTemp, 0, new Scalar(0, 255, 0), 2);

欢呼。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接