1. 程式人生 > >【數字影象處理】直方圖處理

【數字影象處理】直方圖處理

灰度直方圖

灰度直方圖是灰度級的函式,描述的是影象中具有該灰度級的像元的個數。確定影象像元的灰度值範圍,以適當的灰度間隔為單位將其劃分為若干等級,以橫軸表示灰度級,以縱軸表示每一灰度級具有的像元數或該像元數佔總像元數的比例值,做出的條形統計圖即為灰度直方圖。

如下圖所示,做直方圖的過程:

這裡寫圖片描述

直方圖的性質:

  1. 直方圖反映了影象中的灰度分佈規律。它描述每個灰度級具有的像元個數,但不包含這些像元在影象中的位置資訊。
  2. 任何一幅特定的影象都有唯一的直方圖與之對應,但不同的影象可以有相同的直方圖。
  3. 如果一幅影象有兩個不相連的區域組成,並且每個區域的直方圖已知,則整幅影象的直方圖是該兩個區域的直方圖之和

直方圖的應用

  1. 對於每幅影象都可做出其灰度直方圖。
  2. 根據直方圖的形態可以大致推斷影象質量的好壞。由於影象包含有大量的像元,其像元灰度值的分佈應符合概率統計分佈規律。假定像元的灰度值是隨機分佈的,那麼其直方圖應該是正態分佈。
  3. 影象的灰度值是離散變數,因此直方圖表示的是離散的概率分佈。若以各灰度級的像元數佔總像元數的比例值為縱座標軸做出影象的直方圖,將直方圖中各條形的最高點連成一條外輪廓線,縱座標的比例值即為某灰度級出現的概率密度,輪廓線可近似看成影象相應的連續函式的概率分佈曲線

直方圖的用途

  1. 數字化引數:可用來判斷一幅影象是否合理地利用了全部被允許的灰度級範圍。一幅影象應利用幾乎全部的灰度級。
  2. 邊界閾值選取:

累積直方圖:

普通的灰度直方圖就是對不同灰度級畫素的一個統計,而累積直方圖就是由前k個等級畫素之和

生成的直方圖。

直方圖均衡化

直方圖均衡化是將原影象的直方圖通過變換函式變為均勻的直方圖,然後按均勻直方圖修改原影象,從而獲得一幅灰度分佈均勻的新影象。

這裡寫圖片描述

 對連續變化影象:
     設r和s分別表示歸一化了的原影象灰度和經過直方圖修正後的影象灰度。即
                                                                              
     在[0,1]區間內的任一個r值,都可產生一個s值,且

                                                


 T(r)作為變換函式,滿足下列條件:
    ①在0≤r≤1內為單調遞增函式,保證灰度級從黑到白的次序不變


    ②在0≤r≤1內,有0≤T(r)≤1,確保對映後的畫素灰度在允許的範圍內。

由概率論理論可知,如果已知隨機變數r的概率密度為pr(r),而隨機變數s是r的函式,則s的概率密度ps(s)可以由pr(r)求出。
假定隨機變數s的分佈函式用Fs(s)表示,根據分佈函式定義

利用密度函式是分佈函式的導數的關係,等式兩邊對s求導,有:

可見,輸出影象的概率密度函式可以通過變換函式T(r)控制原影象灰度級的概率密度函式得到,因而改善原影象的灰度層次,這就是直方圖修改技術的基礎。
從人眼視覺特性來考慮,一幅影象的直方圖如果是均勻分佈的,即Ps(s)=k(歸一化時k=1)時,該影象色調給人的感覺比較協調。因此將原影象直方圖通過T(r)調整為均勻分佈的直方圖,這樣修正後的影象能滿足人眼視覺要求。
因為歸一化假定
                 
則有


兩邊積分得


上式表明,當變換函式為r的累積直方圖函式時,能達到直方圖均衡化的目的。
對於離散的數字影象,用頻率來代替概率,則變換函式T(rk)的離散形式可表示為:

計算過程如下:

方法一:

  1. 統計原影象每一灰度級的像元數和累積像元數。
  2. 按下圖公式計算變換後的值
  3. 四捨五入得到新的灰度值
  4. 統計像元

下圖所示:

這裡寫圖片描述

方法二:
  1. 列出原始圖灰度級rk;
  2. 統計原始直方圖各灰度級畫素數nk;
  3. 計算原始直方圖各概率:pk=nk/N;
  4. 計算累計直方圖:sk=Σpk;
  5. 取整Sk=int{(L-1)sk+0.5};
  6. 確定對映對應關係:rk->sk;
  7. 統計新直方圖各灰度級畫素nk';
  8. 用pk (sk) =nk'/N計算新直方圖。

其中L是灰度層次數, N是圖幅總畫素數。