K中的马哈拉诺比斯距离意味着使用OpenCV进行聚类

时间:2012-02-28 13:36:38

标签: c++ opencv machine-learning computer-vision cluster-analysis

我已经完成了 Kmeans 群集,并使用 OpenCV C ++ API找到了群集中心。

kmeans(data_points, clusterCount, labels, TermCriteria( CV_TERMCRIT_EPS+CV_TERMCRIT_ITER, 10, 1.0), 3, KMEANS_PP_CENTERS, cluster_centers);

然后我使用欧几里德距离找到最接近的群集,以便新数据点针对所有群集中心 >

int distance = find_EucledianDist(new_datapoint, cluster_centers);

我如何使用马哈拉诺比斯距离而不是欧几里德距离?我知道我必须计算协方差矩阵并将其反转并找到马哈拉诺比斯距离。

但是,我不知道我是怎么做的,在ORDER 中(找到covar矩阵,哪个数据/矩阵的倒置矩阵)?