In OpenCV4Android iterieren

Ich habe diesen Code mit OpenCV4Android in Java konvertieren lassen. Aber es gibt keine Java-Wrapper für Matiterator in OpenCV4Android.

void show_result(const cv::Mat& labels, const cv::Mat& centers, int height, int width)
{
        std::cout << "===\n";
        std::cout << "labels: " << labels.rows << " " << labels.cols << std::endl;
        std::cout << "centers: " << centers.rows << " " << centers.cols << std::endl;
        assert(labels.type() == CV_32SC1);
        assert(centers.type() == CV_32FC1);

        cv::Mat rgb_image(height, width, CV_8UC3);
        cv::MatIterator_<cv::Vec3b> rgb_first = rgb_image.begin<cv::Vec3b>();
        cv::MatIterator_<cv::Vec3b> rgb_last = rgb_image.end<cv::Vec3b>();
        cv::MatConstIterator_<int> label_first = labels.begin<int>();

        cv::Mat centers_u8;
        centers.convertTo(centers_u8, CV_8UC1, 255.0);
        cv::Mat centers_u8c3 = centers_u8.reshape(3);

        while ( rgb_first != rgb_last ) {
                const cv::Vec3b& rgb = centers_u8c3.ptr<cv::Vec3b>(*label_first)[0];
                *rgb_first = rgb;
                ++rgb_first;
                ++label_first;
        }
        cv::imshow("tmp", rgb_image);
        cv::imwrite("Kmean/25.jpg", rgb_image);

        cv::waitKey();
}

Ich kann die MatIterator-Klasse in Java nicht finden. Ich habe eine ähnliche Frage im OpenCV-Support-Bereich gesehen, aber keine Antwort.

1) Gibt es eine alternative Möglichkeit, dies in Java umzuwandeln (wenn möglich in effizienten Iterationen)? 2) Ich möchte keinen nativen Code verwenden.

Danke im Voraus

Antworten auf die Frage(2)

Ihre Antwort auf die Frage