什么圖像歸一化
通俗地講就是將矩陣的值通過某種方式變到某一個區間內
圖像歸一化的作用
- 目前能理解的就是歸一化到某個區間便於處理,希望高人可以指點
opencv文檔中的介紹
C++: void normalize(InputArray src, InputOutputArray dst, double alpha=1, double beta=0, int norm_type=NORM_L2, int dtype=-1, InputArray mask=noArray() )
C++: void normalize(const SparseMat& src, SparseMat& dst, double alpha, int normType)
Python: cv2.normalize(src[, dst[, alpha[, beta[, norm_type[, dtype[, mask]]]]]]) → dst
Parameters:
src – input array.
dst – output array of the same size as src .
alpha – norm value to normalize to or the lower range boundary in case of the range normalization.
beta – upper range boundary in case of the range normalization; it is not used for the norm normalization.
normType – normalization type (see the details below).
dtype – when negative, the output array has the same type as src; otherwise, it has the same number of channels as src and the depth =CV_MAT_DEPTH(dtype).
mask – optional operation mask.
norm_type有NORM_INF, NORM_MINMAX,NORM_L1和NORM_L2四種。
1、在 NORM_MINMAX 模式下,alpha表示歸一化后的最小值,beta表示歸一化后的最大值。
2、在NORM_L1、NORM_L2、NORM_INF 模式下,alpha表示執行相應歸一化后矩陣的范數值,beta不使用。
3、稀疏矩陣歸一化僅支持非零像素
NORM_MINMAX
數組的數值被平移或縮放到一個指定的范圍,線性歸一化。
$dst(i, j) = \frac{(src(i, j) - min(src(x, y))) * (beta - alpha)}{max(src(x, y)) - min(src(x, y))} + alpha$
$${x}\over{y}$$
NORM_INF
分母為L∞范數 ,即矩陣各元素絕對值的最大值(切比雪夫距離)
NORM_L1
分母為L1-范數,即矩陣元素的絕對值之和(曼哈頓距離)
NORM_L2
分母為L2-范數,即矩陣各元素的歐幾里德距離之和