I have color image, elements of which I want to clusterize. I load image:
IColor = cv::imread(path);
and convert it to float(since kmeans takes float mat as input)
IColor.convertTo(IFColor, CV_32FC3, 1 / 255.0);
then I'm trying to prepare input according to my understanding of docs
int count = IFColor.rows * IFColor.cols;
cv::Mat points(count * 3, 3, CV_32F), labels;
points.data = IFColor.data;
double cmeasure = cv::kmeans(points, 16, labels, cv::TermCriteria(), 3, cv::KMEANS_RANDOM_CENTERS);
but got some indexing error.
How to perform clustering on color image?