Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Equivalent code in Java replacing pixels

Is there any similar code in Java OpenCV that I could use to perform the similar task as the code below shows?

    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;
    }

Thanks in advance

click to hide/show revision 2
retagged

updated 2014-03-12 02:09:33 -0600

berak gravatar image

Equivalent code in Java replacing pixels

Is there any similar code in Java OpenCV that I could use to perform the similar task as the code below shows?

    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;
    }

Thanks in advance