opencv —— normalize 矩陣歸一化


歸一化:就是將數據通過某種算法,限制需要的一定范圍內。

歸一化的目的:簡而言之,是使得沒有可比性的數據變得具有可比性,同時又保持相比較的兩個數據之間的相對關系,如大小關系;或是為了作圖,原來很難在一張圖上作出來,歸一化后就可以很方便的給出圖上的相對位置等。

 

矩陣歸一化:normalize 函數

void normalize(InputArry src,InputOutputArray dst,double alpha = 1,double beta = 0,int norm_type = NORM_L2,int dtype = -1,InputArray mark = noArry())

  • src,輸入圖像,Mat 類對象即可。
  • dst,函數調用后的結果存在這里,和原圖像具有一樣的尺寸和類型。
  • alpha,①值歸一化,表示所乘系數;②范圍歸一化,表示范圍界限,一般當作下界。
  • beta,僅范圍歸一化用到,表示范圍另一界限。
  • norm_type,歸一化選擇的數學公式。
NORM_L1:(占比)
 

 

NORM_INF:
 

 

NORM_L2:
 

 

NORM_MINMAX: A不屬於{ max(Ai) , min(Ai) },當 A等於 max(Ai) 時 p = 1,等於 min(Ai) 時 p = 0 
 
 
 
  • dtype,為負時,輸出圖像深度等於輸入圖像,否則深度為 dtype 類型。一般選擇默認值。
  • mark,掩碼。若有感興趣區域,則只對該區域進行操作。

 

值歸一化:所有 NORM_XXX 公式均可使用

alpha != 0,beta = 0,根據數學公式計算出來的所有值均 * alpha。

示例:alpha = 45

 

 

 

范圍歸一化:必須且僅可以使用 NORM_MINMAX 公式

alpha !=0,beta != 0,假設 alpha < beta,即歸一化范圍 [alpha,beta],簡記為 [a,b]。

  1. 首先找到樣本數據的最小值 Min 及最大值 Max
  2. 計算系數為:k =(b - a) / (Max - Min)
  3. 得到歸一化到 [a,b] 區間的數據:

 示例:alpha = 10,beta = 45

 

(呀呀,網上好多相關文章,但看完還是迷糊,現在終於明白了,(●'◡'●) 開心!)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM