我已经完成了集群,并使用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);如何使用Mahalanobis距离而不是欧几里得距离?我知道我必须计算协方差矩阵并反演它,并找到Mahalanobis距离。
但是,我不知道我是如何做到的,(查找covar矩阵,倒矩阵的哪个数据/矩阵)?
发布于 2012-02-28 14:21:14
这个链接能帮到你很多吗?)
fRI53Pg12dYLOVUJpopb0g&hl=fr&sa=X&ei=O-JMT9-oAYem0AXIpL2eBQ&ved=0CEkQ6AEwBA#v=onepage&q=mahalanobis%20opencv&f=false
这将是:CalcCovarMatrix,其次是cvInvert,最后是cvMahalanobis。
https://stackoverflow.com/questions/9482902
复制相似问题