I'm using function cvKMeans2() from OpenCV library for clustering. It has optional parametr:
centers - The optional output array of the cluster centers The same parametr is a开发者_高级运维lso in function kmeans().I want to know informations about clusters. But I haven't found what is a type of that cluster center in array, so I can't get it.
Thanks for any advices!
In OpenCV 2.0, the equivalent kmeans function takes a CV_32FC1 matrix, but OpenCV 2.0 is quite a substantial upgrade to the old kmeans2 function, so I cannot be sure if the cluster centers datatype would still be the same for the OpenCV 1.1 version.
This makes it look like the "centers" parameter has the same type as the first parameter, which other documentation says:
The metatype CvArr is used only as a function parameter to specify that the function accepts arrays of multiple types, such as IplImage*, CvMat* or even CvSeq* sometimes. The particular array type is determined at runtime by analyzing the first 4 bytes of the header.
That, combined with this question, makes me think you should try passing a CV array (vector) to get the centers.
I think this might help:
http://opencv.willowgarage.com/documentation/clustering_and_search_in_multi-dimensional_spaces.html#cvKMeans2
精彩评论