將一副灰度圖像轉換為只包含為黑白兩色的二值圖像稱之為圖像的閾值處理;這種處理有多種方式,最簡單的就是設定一個靜態的閾值,色素值大于該閾值的為白,否則該值的為黑色。但是在很多時候,這種簡單的方法并不能得到很好的效果。在這篇文章里面我們介紹一種很簡單的局部自適應性圖像閾值化處理方法,該方法根據圖像局部特點動態的調整其閾值,能夠得到比較理想的閾值化處理效果。
該方法的思想是首先將圖像分為一定大小的區塊,這個可以根據情況選用,比如你可以選擇3*3的矩陣,或者5*5的矩陣。選定好這些小塊之后,我們計算這個小塊中包圍了中心像素點的其他像素點(或者用戶也可以加其他的限定條件選擇像素點)的灰度值的某種統計信息,比如灰度均值,或者灰度中間值,或者最大灰度與最小灰度之間的均值作為中間像素點的閾值。如果中間像素點的灰度大于該閾值,則中間像素被轉換為白色點;反之,則轉換為黑色點。
以ROUND(x)代表像素點x周圍的所有像素點,以函數Statistic(ROUND(x))表示對上述的這些像素點的灰度值做統計運算,那么我們的算法思想可以描述為:
1(x>Statistic(ROUND(x)))
x={
0(x<=Statistic(ROUND(x)))
在實際情況中,選用3*3的包圍矩陣和取均值的統計算法可以得到比較理想的處理效果(處理效果的圖片對比如下:
原圖:

處理后圖片:

)。