Mahalanobis距离(马氏距离)

Mahalanobis距离(马氏距离)

Mahalanobis距离是多维空间中两点相似性的度量,它本身不是聚类或者分类算法。

Mahalanobis距离与Euclidean距离(欧式距离)类似,不过还需除以空间的协方差矩阵。

如果协方差矩阵是单位矩阵,则Mahalanobis距离退化为Euclidean距离。

 

opencv

计算协方差矩阵函数

CVAPI(void)  cvCalcCovarMatrix( const CvArr** vects, int count,
                                CvArr* cov_mat, CvArr* avg, int flags );

计算逆矩阵函数

CVAPI(double)  cvInvert( const CvArr* src, CvArr* dst,
                         int method CV_DEFAULT(CV_LU));

Mahalanobis距离 = Euclidean距离 * 空间协方差矩阵的逆矩阵

计算Mahalanobis距离时,用cvInvert函数计算逆矩阵时,参数method做好用CV_SVD_SYM。使用该参数虽速度较慢,但可计算更精确的逆矩阵。

计算时间大部分由cvCalcCovarMatrix()消耗,所以稍微多花点时间计算精确的逆矩阵是明智的。

你可能感兴趣的:(图像处理算法,数学)