OpenCV K-Means (kmeans2) - PullRequest
       22

OpenCV K-Means (kmeans2)

8 голосов
/ 30 октября 2009

Я использую реализацию K-средних в Opencv для кластеризации большого набора 8-мерных векторов. Они кластеризованы нормально, но я не могу найти способ увидеть прототипы, созданные в процессе кластеризации. Это вообще возможно? Похоже, что OpenCV предоставляет доступ только к кластерным индексам (или меткам).

Если нет, я думаю, настало время сделать мою собственную реализацию!

Ответы [ 2 ]

8 голосов
/ 30 октября 2009

Я не могу сказать, что использовал реализацию OpenCV для Kmeans, но если у вас есть доступ к меткам, указанным для каждого экземпляра, вы можете просто получить центроиды, рассчитав средний вектор экземпляров, принадлежащих каждому из кластеров.

5 голосов
/ 18 февраля 2011

Начиная с (по крайней мере) OpenCV 2.0, есть способ получить центры кластера (см. Последний аргумент):

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

...