2014年3月25日 星期二

影像處理:影像增強和邊緣偵測

                                        影像增強和邊緣偵測

直方圖均化(histogram equalization)


針對灰階的圖像,先統計他的所有灰階度的數量並存放在一個table[256]裡,在計算每個灰階度的cumulative distribution function,統計完後,將結果存放至一個cdf_table[256]裡,裡面擺著累計的結果,所以cdf_table[255]的值會是全部點的數量,table[256]的所有項目將經過一個算式的計算轉成新的灰階度表new_table[256]。


MxN為全部的pixels總數,v為欲轉換的灰階度,L-1為255。


h(v) =
 \mathrm{round}
 \left(
   \frac {cdf(v) - cdf_{min}} {(M \times N) - cdf_{min}}
   \times (L - 1)
 \right)

使用new_table[256]裡的值跟原圖的灰階值做轉換,得到新的圖。

























邊緣偵測

使用sobel operator去計算。


\mathbf{G}_x = \begin{bmatrix} 
-1 & 0 & +1 \\
-2 & 0 & +2 \\
-1 & 0 & +1 
\end{bmatrix} * \mathbf{A}
\quad
\mbox{and}
\quad   
\mathbf{G}_y = \begin{bmatrix} 
+1 & +2 & +1  \\
\ \ 0 & \ \ 0 & \ \ 0 \\
-1 & -2 & -1 
\end{bmatrix} * \mathbf{A}

\mathbf{G} = \sqrt{ {\mathbf{G}_x}^2 + {\mathbf{G}_y}^2 }

將這2個矩陣跟圖上的9個點做運算得到Gx,Gy,再由上面的公式可以算出最後的結果G。

參考資料:

沒有留言:

張貼留言