#opencv #k-means #binary-image
Вопрос:
Я пытаюсь использовать функцию opencv kmeans в двоичном изображении, но я не знаю, как настроить ее параметры.
Моя конечная цель-найти два центра большого двоичного объекта.
vector<Point2f> centers;
Mat points;
findNonZero(binary_image, points);
points.convertTo(points, CV_32F);
kmeans(points, overlapped, Mat(), TermCriteria( TermCriteria::EPS TermCriteria::COUNT, 10, 1.0), 3,
KMEANS_PP_CENTERS, centers );
Первый параметр требует определенного формата. Поэтому я попытался это исправить, но в нем есть ошибка
На самом деле, я не знаю, как конкретно использовать функцию Kmeans в двоичном изображении.
Можете ли вы помочь мне, как им пользоваться?
Ответ №1:
vector<Point2f> centers;
Mat points;
Mat labels;
findNonZero(temp, points);
points.convertTo(points, CV_32F);
kmeans(points, overlapped, labels, TermCriteria( TermCriteria::EPS TermCriteria::COUNT, 10, 1.0), 3,
KMEANS_PP_CENTERS, centers );
Это была простая проблема.
Я изменил третьи параметры.
Спасибо!