c++ - 使用 OpenCV 的 Kmeans 聚类中的马哈拉诺比斯距离

标签 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 (find covar matrix, inverted matrix of which data/matrix)?

最佳答案

关于c++ - 使用 OpenCV 的 Kmeans 聚类中的马哈拉诺比斯距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9482902/

相关文章:

c++ - 二进制文件加载导致数据丢失

c++ - 将 Raspberry Pi 2 连接到外部远程数据库

python - 多幅图像的时间中值图像

java - OpenCV 层次结构始终为空

machine-learning - Keras model.compile 指标参数的默认行为是什么?

tensorflow - tf.multinomial 如何工作?

c++ - 将 const 对象引用传递给仿函数

c++ - 如何减少或消除通过更改 16 位 PCM 样本的 'volume' 所产生的噪音

opencv - 让撕破的纸恢复原样

java - 如何使用java获得weka中的最近邻居