曹逸凡,許寶杰,徐小力,蔣章雷
(北京信息科技大學(xué)現(xiàn)代測控技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,北京 100192)
基于改進(jìn)Bernsen算法的圖像二值化研究
曹逸凡,許寶杰,徐小力,蔣章雷
(北京信息科技大學(xué)現(xiàn)代測控技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,北京 100192)
針對傳統(tǒng)Bernsen算法在實(shí)際應(yīng)用中問題,提出一種改進(jìn)的新算法。該算法經(jīng)過對圖像進(jìn)行灰度處理、高斯平滑濾波處理后,計(jì)算濾波后閾值,使平滑前后的閾值起不同作用,實(shí)現(xiàn)對圖像的二值化處理。經(jīng)驗(yàn)證,該算法不僅適合解決光照不均問題,同時(shí)對圖像細(xì)節(jié)有更多保留,優(yōu)于傳統(tǒng)的Bernsen算法。
Bernsen算法;高斯平滑濾波;改進(jìn);光照不均
10.16621/j.cnki.issn1001-0599.2017.12.11
圖像的二值化算法是圖像識別中較為重要的算法之一,目的是找尋一個(gè)最優(yōu)閾值,將圖像中的灰度像素值與選定的閾值進(jìn)行對比,大于選定閾值的記為目標(biāo),小于選定閾值的記為背景。因此,圖像二值化算法的處理結(jié)果直接影響圖像的后續(xù)壓縮、分割、識別等。在現(xiàn)代圖像二值化研究中,常用的圖像二值化方法分為全局閾值化方法和局部閾值化方法:目標(biāo)和背景分離明顯、灰度直方圖呈明顯雙峰模式的圖像,通常采用全局閾值化方法,如OTSU算法和平均灰度閾值法等;如果圖像的灰度直方圖分布呈非雙峰型、目標(biāo)與背景有多處混雜,通常采用局部閾值法,如Bernsen算法、Niblack算法等。通常情況下,全局二值化算法速度快但效果相對差,局部二值化算法速度慢但效果好。
在實(shí)際圖像的采集過程中,由于工作環(huán)境或者被拍攝物體表面的發(fā)光等原因,拍攝出來的圖像有時(shí)會呈現(xiàn)對比度較低、照片曝光過度或欠曝光以及物體表面存在遮擋物造成的陰影等現(xiàn)象,這種情況下普通的圖像二值化算法已經(jīng)不太適用。本文根據(jù)圖像二值化算法研究的發(fā)展趨勢,提出一種改進(jìn)的Bernsen算法,經(jīng)驗(yàn)證,該算法對處理光照不均等情況效果較好。
在某些圖像處理當(dāng)中,一個(gè)目標(biāo)步驟是圖片的二值法。二值化一方面能去除冗余信息,另一方面也會使有效信息丟失,所以有效的二值化算法是后續(xù)處理的基礎(chǔ)。圖像的二值化研究一直是圖像識別領(lǐng)域的熱點(diǎn),但是,到目前為止并沒有任何一種方法可以適用于任何類型的圖片。針對不同類型的照片或者不同的需要,往往要在一些算法的基礎(chǔ)上進(jìn)行改進(jìn),以使得其更加合適某一類問題。常用的圖像二值化方法主要有3種。
在圖像二值化的龐大分類方法中,基于直方圖的全局二值算法優(yōu)勢明顯。直方圖法是一種最基本的二值化方法,適用性較低,但基于該法的方法有算法簡單、容易實(shí)現(xiàn)、執(zhí)行速度快等優(yōu)點(diǎn)。
灰度直方圖反映了一幅圖像的總體灰度分布情況,是一種灰度級的函數(shù)。在直方圖中,橫坐標(biāo)表示圖像的灰度級,縱坐標(biāo)表示出現(xiàn)該灰度級的像素個(gè)數(shù)。因此,通過直方圖的波峰和波谷可以直觀地手動選取閾值。但是,如果圖片較為復(fù)雜,直方圖法就很難有效地對圖片進(jìn)行處理,難以得到想要的目標(biāo)信息。
OTSU算法又名最大類間差方法,最早由日本學(xué)者大津(Nobuyuki Otsu)于1979年提出,是一種自適應(yīng)的閾值確定方法,簡稱OTSU。它按圖像的灰度特性,將圖像分成背景和目標(biāo)2部分。背景和目標(biāo)之間的類間方差越大,說明構(gòu)成圖像的2部分差別越大,當(dāng)部分目標(biāo)錯(cuò)分為背景或部分背景錯(cuò)分為目標(biāo),都會導(dǎo)致2部分差別變小。因此,使類間方差最大的分割意味著錯(cuò)分概率最小。OTSU算法通過統(tǒng)計(jì)整個(gè)圖像的直方圖特性來實(shí)現(xiàn)全局閾值T自動選取。對于一幅圖像,設(shè)當(dāng)前景與背景的分割閾值為t時(shí),前景點(diǎn)占圖像比例為w0,均值為u0,背景點(diǎn)占圖像比例為w1,均值為u1。則整個(gè)圖像的均值為(1)式。
建立目標(biāo)函數(shù)(2)式。
g(t)就是當(dāng)分割閾值為t時(shí)的類間方差表達(dá)式。OTSU算法使得g(t)取得全局最大值,當(dāng)g(t)為最大時(shí)所對應(yīng)的 t稱為最佳閾值。這種算法一般適用于目標(biāo)與背景分離較為明顯的圖片,是一種典型的全局閾值化方法。
Niblack方法是一種基于局部均差和局部標(biāo)準(zhǔn)差的局部閾值算法,它的基本公式見(3)式。
點(diǎn)f(i,j)處的閾值 T(i,j),由局部均值 m(i,j)和局部標(biāo)準(zhǔn)差s(i,j)以及關(guān)系調(diào)整系數(shù) k決定(默認(rèn)值為-0.2)。k 對于算法的整體效果起決定性作用,k值的選取非常重要。Niblack算法可以很好地保持圖像細(xì)節(jié),因此在該算法的基礎(chǔ)上提出了很多種改進(jìn)算法。其中絕大多數(shù)的改進(jìn)算法都是通過改變k值或者引入其他經(jīng)驗(yàn)常量,不斷改進(jìn)Niblack算法的性能。
Bernsen算法是一種典型的局部閾值算法,其綜合性能較為明顯,適合解決光照不均的問題,在圖像二值化研究中處于比較重要的地位。Bernsen算法的核心思想是在灰度圖像中以像素點(diǎn)(i,j)為中心的(2w+1)×(2w+1)窗口,計(jì)算各個(gè)像素點(diǎn)(i,j)的閾值 T(i,j)。
其次,對 f(i,j)逐點(diǎn)二值化。遍歷該矩陣 f(i,j),使用當(dāng)前得到,灰度值與T(i,j)比較,如果大于則賦予當(dāng)前值為 1,判定為目標(biāo)像素類;反之賦值為0。判定為背景像素類,最終得到二值圖像 b(i,j)見(5)式。
Bernsen算法雖然綜合處理效果較好,但是傳統(tǒng)的Bernsen算法對各種噪聲比較敏感,因此在使用Bernsen算法對灰度圖像進(jìn)行二值化時(shí),如果圖像自帶的噪聲較多,就會造成二值化圖像細(xì)節(jié)缺失或者噪聲增多等現(xiàn)象。本文提出一種改進(jìn)的Bernsen算法,該算法與傳統(tǒng)的Bernsen算法相比,引入了高斯平滑濾波,將灰度圖像中多余的噪聲去除。設(shè)f(i,j)表示(i,j)處的像素灰度值,考慮以(i,j)中心周圍大小為(2w+1)×(2w+1)的區(qū)域 S,表示(i,j)處經(jīng)過高斯平滑濾波之后的灰度值,σ 為平滑尺度,k、l為窗口內(nèi)的位置參數(shù),b(i,j)表示(i,j)處的二值化結(jié)果。改進(jìn)的Bernsen算法可以作以下描述:
(1)計(jì)算f(i,j)的閾值 T1(i,j)。
(2)對點(diǎn)f(i,j)在(2w+1)×(2w+1)窗口內(nèi)進(jìn)行高斯平滑濾波。
(4)取 α?(0,1),對f(i,j)逐點(diǎn)二值化。
當(dāng)α取0時(shí),該算法為傳統(tǒng)Bernsen算法;當(dāng)α取1時(shí),該算法即為改進(jìn)的Bernsen算法。該算法對灰度圖像進(jìn)行二值化的整體過程如圖1所示。
在該改進(jìn)的算法中,d與w值得選取均由試驗(yàn)驗(yàn)證所選,其選值的大小直接影響圖像二值化的效果。針對不同的情況,a與w可以選取相適合的值。
圖1 改進(jìn)的Bernsen算法
w是Bernsen算法的窗口,它以局部窗口的最大、最小值作為考察點(diǎn)的閾值。w值與算法運(yùn)行時(shí)間和偽影的產(chǎn)生相關(guān):w越大,算法運(yùn)行時(shí)間越長,相應(yīng)產(chǎn)生的偽影較少;w越小,算法運(yùn)行時(shí)間越短,但產(chǎn)生的偽影較多。k、l參數(shù)即運(yùn)算窗口的大小是Bernsen算法運(yùn)行所耗費(fèi)時(shí)間的重要參數(shù),假定k為水平方向上的長度,則l為垂直方向上的長度。若k,l≠0,則該算法即為網(wǎng)格掃描式,若k=0或者l=0,則該算法即為線掃描式。網(wǎng)格掃描雖然可以降低二值圖像的噪聲,但是產(chǎn)生的偽影較多,算法運(yùn)行時(shí)間大大增加。而線掃描式由于只需從一個(gè)方向掃面,因此算法運(yùn)行速度大為提高,雖然產(chǎn)生的噪聲較多,但是可以有效去除光照不均引起的陰影,圖像中的目標(biāo)信息保留比網(wǎng)格掃描式更好。本文提出的改進(jìn)的Bernsen算法就是在線掃描Bernsen算法的同時(shí),對灰度圖像進(jìn)行高斯平滑濾波。
在線掃描式Bernsen算法中,k,l的取值總有一個(gè)為0,因此只有1個(gè)參數(shù),統(tǒng)一用w表示。w值一般由圖像的目標(biāo)信息所占像素的大小決定。據(jù)實(shí)驗(yàn)圖像結(jié)果分析,w值一般介于英文字符的寬度之間,此時(shí)對英文字符的二值化效果最好。圖2a左下部分存在曝光過度,右半部分又存在局部陰影,照片的目標(biāo)信息假定為地上的英文字符和花圃的形狀輪廓。選取不同w值對圖片進(jìn)行二值化處理:w=1時(shí),圖像的二值化不僅去除了陰影,同時(shí)產(chǎn)生了大量的偽影,如圖2b所示;w=30時(shí),此時(shí)對目標(biāo)信息的處理引入了大量噪聲,反而造成目標(biāo)信息的丟失,如圖2d所示。在本例圖中,目標(biāo)信息為英文字符以及花圃輪廓,最小寬度為3,最大寬度為20,因此w的取值選10即可。這樣既保證了圖片的目標(biāo)信息,又不會增加算法的運(yùn)行時(shí)間。
圖2 w窗口值對Bernsen算法處理結(jié)果
調(diào)整α值,使得圖像既可以很好地處理光照不均的圖像,同時(shí)經(jīng)過平滑濾波之后,有效去除產(chǎn)生的圖像噪聲。α值的大小決定了噪聲平滑和圖像目標(biāo)信息保留之間的平衡關(guān)系:α值越大,濾波作用明顯,但是圖像目標(biāo)信息也隨之被過濾;反之,α值越小,濾波作用越小,但是圖像的目標(biāo)信息保留完整,細(xì)節(jié)不會發(fā)生丟失。圖3顯示了不同值對圖像處理結(jié)果的比較。當(dāng)取值變大時(shí),圖像的噪聲影響減小,但是圖像目標(biāo)信息例如圖中的英文也隨之模糊或者被過濾掉。當(dāng)α=0.2時(shí),圖像處理結(jié)果不僅保留了圖像的目標(biāo)信息,同時(shí)對噪聲的處理也較為理想。
圖4為采用各種二值化算法對非均勻光照環(huán)境下的圖像進(jìn)行二值化處理的比較結(jié)果。
由圖4可以看出,使用本文改進(jìn)的Bernsen算法,圖像二值化結(jié)果效果較好,不僅去減少了非均勻光照的影響,也濾掉了噪聲,對圖片的目標(biāo)信息保存完整。綜合對比,改進(jìn)的Bernsen算法對非均勻光照圖片的處理效果更好,優(yōu)于其他二值化算法。
圖3 不同取值對改進(jìn)的Bernsen算法處理結(jié)果
通過對Bernsen算法的研究,結(jié)合目前的研究趨勢,提出了一種改進(jìn)的Bernsen算法。該算法主要針對由于光照不均而產(chǎn)生陰影的圖片,在保留圖片目標(biāo)信息的基礎(chǔ)上還可以將大部分噪聲過濾。算法的目標(biāo)參數(shù)w值可以根據(jù)圖片目標(biāo)信息的大小以及算法執(zhí)行時(shí)間的因素進(jìn)行選取,α值可以根據(jù)圖片噪聲的多少在(0,1)間進(jìn)行調(diào)整,通過對這2個(gè)參數(shù)的選值,可以使該算法適用于大多數(shù)目標(biāo)信息與背景信息交錯(cuò)較多的圖片。文中的改進(jìn)算法其中依賴于2個(gè)目標(biāo)參數(shù),需要經(jīng)過不斷實(shí)驗(yàn)選取合適的值,因此未來的研究方向應(yīng)該在如何保證算法執(zhí)行時(shí)間不增加的前提下,可以自動求得參數(shù)值。
圖4 常用二值化算法對光照不均圖片的處理結(jié)果
[1]李真,李功燕.復(fù)雜光照環(huán)境下電力儀表的二值化研究[J/OL].微型機(jī)與應(yīng)用,2017,36(15):45-48.
[2]王珺,彭進(jìn)業(yè),吳俊,李丹嬌.復(fù)雜光照下的車牌圖像二值化新方法[J].電子設(shè)計(jì)工程,2011,19(22):147-150.
[3]陳丹,張峰,賀貴明.一種改進(jìn)的文本圖像二值化算法[J].計(jì)算機(jī)工程,2003,(13):85-86.
[4]招繼恩,龍飛,戴寶.智能交通中數(shù)字圖像處理技術(shù)的運(yùn)用[J].信息通信,2017,(08):82-84.
[5]KMV Deneen.An Algorithm for License Plate Recognition Applied to Intelligent Transportation System[J].IEEE Transactions on Intelligent Transportation.2011,12(3):830-845.
[6]薛志文,楊傲雷,費(fèi)敏銳,沈春鋒.用于金屬板圖像分割的自適應(yīng)閾值算法[J].電子測量技術(shù),2017,40(7):85-89.
[7]田自君,劉藝.基于LoG算子邊緣檢測的圖像二值化處理[J].中國測試技術(shù),2007(6):109-110,136.
TP391.41
B
〔編輯 吳建卿〕