Domanda

Sto usando l'implementazione dei mezzi K di Opencv per raggruppare un ampio set di vettori a 8 dimensioni. Si raggruppano bene, ma non riesco a trovare alcun modo per vedere i prototipi creati dal processo di clustering. È anche possibile? OpenCV sembra dare accesso solo agli indici (o alle etichette) del cluster.

In caso contrario suppongo che sarà il momento di realizzare la mia implementazione!

È stato utile?

Soluzione

Non posso dire di aver usato l'implementazione di Kmean di OpenCV, ma se hai accesso alle etichette fornite a ciascuna istanza, puoi semplicemente ottenere i centroidi calcolando il vettore medio delle istanze che appartengono a ciascuno dei cluster.

Altri suggerimenti

A partire da (almeno) OpenCV 2.0, c'è il modo di recuperare i centri di cluster (vedi l'ultimo argomento):

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

http://opencv.willowgarage.com/documentation/ cpp / clustering_and_search_in_multi-dimensional_spaces.html # cv-Kmeans

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top