本文主要是介绍计算欧氏距离cvNorm,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Norm
计算数组的绝对范数, 绝对差分范数或者相对差分范数
double cvNorm( const CvArr* arr1, const CvArr* arr2=NULL, int norm_type=CV_L2, const CvArr* mask=NULL );
参数:
arr1 第一输入图像
arr2 第二输入图像 ,如果为空(NULL), 计算 arr1 的绝对范数,否则计算 arr1-arr2 的绝对范数或者相对范数。 normType 范数类型,参见“讨论”。 mask 可选操作掩模。如果 arr2 为空(NULL),函数 cvNorm 计算 arr1 的绝对范数:
- norm = ||arr1||C = maxI abs(arr1(I)), 如果 normType = CV_C
- norm = ||arr1||L1 = sumI abs(arr1(I)), 如果 normType = CV_L1
- norm = ||arr1||L2 = sqrt( sumI arr1(I)2), 如果 normType = CV_L2
如果 arr2 不为空(NULL), 该函数计算绝对差分范数或者相对差分范数:
- norm = ||arr1-arr2||C = maxI abs(arr1(I)-arr2(I)), 如果 normType = CV_C
- norm = ||arr1-arr2||L1 = sumI abs(arr1(I)-arr2(I)), 如果 normType = CV_L1
- norm = ||arr1-arr2||L2 = sqrt( sumI (arr1(I)-arr2(I))2 ), 如果 normType = CV_L2
或者
- norm = ||arr1-arr2||C/||arr2||C, 如果 normType = CV_RELATIVE_C
- norm = ||arr1-arr2||L1/||arr2||L1, 如果 normType = CV_RELATIVE_L1
- norm = ||arr1-arr2||L2/||arr2||L2, 如果 normType = CV_RELATIVE_L2
函数 Norm 返回计算所得的范数。多通道数组被视为单通道处理,因此,所有通道的结果是结合在一起的。
说明:需要计算欧氏距离时可使用cvNorm的 CV_L2类型范数,即为两向量的欧氏距离;
这篇关于计算欧氏距离cvNorm的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!