opencv菜鸟学习之旅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 返回计算所得的范数。多通道数组被视为单通道处理,因此,所有通道的结果是结合在一起的。