opencv java apiを使用して、 question のサンプルコードを実装しようとしています。 findContours(gray, contours, CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE);
をjavaに実装するには、この構文Imgproc.findContours(gray, contours, new Mat(), Imgproc.RETR_LIST, Imgproc.CHAIN_APPROX_SIMPLE);
を使用しました。opencv java apiでMatOfPointをMatOfPoint2fに変換するには
これで輪郭線はvector<vector<cv::Point> > contours;
ではなくList<MatOfPoint> contours = new ArrayList<MatOfPoint>();
になります。
これを実装する必要があります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++インターフェイスと同じようにベクトルを使用する方法があります。どんな提案やサンプルコードも大歓迎です。
mMOP2f2はどこから来ていますか? – user2534365