normalize函数

来源:互联网 发布:sqlmap dbms mssql 编辑:程序博客网 时间:2024/06/05 03:10
1、函数原型:
void normalize(InputArray src,OutputArraydst, double alpha = 1, double beta = 0, intnorm_type = NORM_L2, int dtype = -1, InputArray mask = noArray() )
参数说明:
src——输入数组
dst——输出数组,支持原地运算
alpha——range normalization模式的最小值
beta ——range normalization模式的最大值,不用于norm normalization(范数归一化)模式。
normType——归一化的类型,可以有以下的取值:
NORM_MINMAX:数组的数值被平移或缩放到一个指定的范围,线性归一化,一般较常用。
NORM_INF:此类型的定义没有查到,根据OpenCV 1的对应项,可能是归一化数组的C-范数(绝对值的最大值)
NORM_L1 : 归一化数组的L1-范数(绝对值的和)
NORM_L2: 归一化数组的(欧几里德)L2-范数
dtype——dtype为负数时,输出数组的type与输入数组的type相同;否则,输出数组与输入数组只是通道数相同,而tpye=CV_MAT_DEPTH(dtype).
mask
操作掩膜,用于指示函数是否仅仅对指定的元素进行操作。
2、归一化公式:
线性函数转换,表达式如下:(NORM_MINMAX)
if mask(i,j)!=0
dst(i,j) = (src(i,j) - min(src)) * (b' - a') / (max(src) - min(src)) + a'
else
dst(i,j) = src(i,j)
其中b' = MAX(alpha,beta ) , a' = MIN(alpha,beta );
2. 当norm_type!=NORM_MINMAX:
if mask(i,j) != 0
dst(i,j) = src(i,j) *alpha / norm (src,norm_type,mask)
else
dst(i,j) = src(i,j)
其中,函数norm的功能是计算norm(范数)的绝对值

原创粉丝点击