Naomak
Naomak

Reputation: 439

OpenCV's clustering function cvKMeans2() - what is a type of cluster center in array?

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 also 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!

Upvotes: 7

Views: 4357

Answers (3)

Ray Hidayat
Ray Hidayat

Reputation: 16249

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.

Upvotes: 2

John Zwinck
John Zwinck

Reputation: 249153

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.

Upvotes: 1

Related Questions