1. 程式人生 > >不均勻光照的二值化方法(去陰影、去曝光)

不均勻光照的二值化方法(去陰影、去曝光)

基於對比背景影象,調整對比度

以下是餘下全文

測試影象是白底黑字
一、演算法思想
1.計算整幅影象的背景影象
2.影象的標準化
3.對比原影象和背景影象,增強和對比度。
二、演算法詳細步驟
1.計算整幅影象的背景影象
(1)設計w*w的區域(w自定義大小)
(2)將(1)的區域去遍歷整幅影象,由於是白底黑字的圖片,將區域中最高的五個畫素點的平均值作為背景值。
原圖
原圖
陰影
背景影象
2.影象的標準化
簡單來說就是將背景點設定為255,將有效點設定為某個區間的值。(目的是為了之後二值化的時候,更好的確定閾值)
3.對比原影象和背景影象,增強和對比度
基本思想就是區域性區域中背景和原圖的對比度小,將對比度增強。


關鍵是對公式的理解:
公式1

公式2

詳解:
(1)引數說明:
Ib(x,y)代表背景影象在(x,y)點的畫素值
Is(x,y)代表原影象在(x,y)點的畫素點
Ie(x,y)代表經過去除背景之後的影象
Bj的值是255,代表將背景畫素點轉化為255
k是一個分段函式,代表不同區域的背景和原圖的對比度的縮放(也就是對比度增強的倍數)

(2)公式解釋
1.

否則,Ie(x,y)=Bj;

也就是原圖的畫素點大於背景影象的畫素點,由於影象是白底黑字,此畫素點一定是背景畫素點,直接設定為255.

2.

Ie(x,y)=Bj-k(Ib(x,y)-Is(x,y));

如果Ib(x,y)>Is(x,y),此原圖的畫素點是有效畫素點,根據畫素點大小判斷對比的縮放比例。例如在陰影很大(或者曝光很大)的地方,對比度(k)要增大。

3.

若(Ie(x,y)<0.75Bj)
set Ie(x,y)=0.75Bj;

將原圖中的有效畫素點設定為[0.75Bj,Bj)中的值,為了之後二值化的時候更好的設定閾值.

三、演算法具體實現
大牛的部落格

陰影
最後效果圖
四、參考文獻
不均勻光照文字影象的二值化 —賀志明

五、程式碼下載