Я пытаюсь реализовать код примера следующего
question
используя 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?
Или есть способ использовать векторы так же, как и интерфейс С++ для реализации этого. Любое предложение или образец кода приветствуются.