Frage

Ich bin mit OpenCV des K-Means Umsetzung einen großen Satz von 8-dimensionalen Vektoren gruppieren. Sie Cluster in Ordnung, aber ich kann keine Art und Weise findet die Prototypen durch den Clustering-Prozess erstellt, um zu sehen. Ist das überhaupt möglich? OpenCV scheint nur Zugriff auf den Cluster-Indizes zu geben (oder Etikett).

Wenn nicht ich denke, es Zeit sein werde meine eigene Implementierung zu machen!

War es hilfreich?

Lösung

Ich kann nicht sagen, dass ich OpenCV Implementierung von Kmeans verwendet, aber wenn Sie den Zugriff auf die für jede Instanz gegeben Etiketten haben, können Sie einfach das Zentroide erhalten, indem den Durchschnittsvektor der Instanzen Berechnung zu jedem des Cluster gehören.

Andere Tipps

Wie von (mindestens) OpenCV 2.0 gibt es die Möglichkeit, Clusterzentren abrufen (siehe letztes Argument):

double kmeans( const Mat& samples, int clusterCount, Mat& labels,
  TermCriteria termcrit, int attempts,
  int flags, Mat* centers );

http://opencv.willowgarage.com/documentation/ cav / clustering_and_search_in_multi-dimensional_spaces.html # cv-KMeans

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top