У меня была эта часть кода, которая должна быть преобразована в Java с использованием OpenCV4Android. Но они не являются Java-Wrappers для матитератора в OpenCV4Android.Как Iterate в 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();
}
Я не могу найти класс MatIterator в java. Я видел квест, похожий на это в разделе поддержки OpenCV, но ответа не было.
1) Есть ли альтернативный способ преобразования этого в java (если возможно, в эффективные итерации). 2) Я не хочу использовать собственный код.
Заранее спасибо.
Я голосующий, чтобы отвечать на этот вопрос как не по теме, потому что пользователь просто хочет, чтобы кто-то конвертировал этот код в OpenCV для Android. – karlphillip
@karlphillip Я прошу альтернативный метод в java. Потому что они не являются матитерами класса по умолчанию в OpenCV4Android. –