林玉容,陳美龍
(閩南科技學(xué)院 計(jì)算機(jī)信息學(xué)院,福建 泉州 362332)
數(shù)碼相機(jī)與智能手機(jī)的不斷推廣產(chǎn)生大量的數(shù)字圖像,蘊(yùn)含著豐富的信息。數(shù)字圖像中的文字識別、特征提取、人工智能模式識別等都需要對圖像進(jìn)行分析。二值化是進(jìn)行圖像分析前必要的預(yù)處理操作[1-2],其性能的優(yōu)劣直接影響圖像分析的結(jié)果。二值化的方法很多,基于直方圖的二值化算法是其中一類重要的方法。根據(jù)閾值選取辦法,基于直方圖的二值化算法分為灰度平均值、百分比閾值、基于谷底最小值閾值、迭代最佳閾值等幾十種方法。這類方法具有容易實(shí)現(xiàn)、執(zhí)行速度快等特點(diǎn),因此應(yīng)用廣泛,但效果不穩(wěn)定,特別是對復(fù)雜背景的數(shù)字圖像二值化效果不佳。
小波變換具有多分辨率分析的特點(diǎn),能夠有效去除圖像中的噪聲,提取圖像的局部特征,因此在直方圖二值化算法的基礎(chǔ)上,提出一種基于二維小波變換的圖像二值化方法,研究該方法在包含文字信息的數(shù)字圖像中的二值化處理情況。
利用小波變換良好的去噪性,對原圖像經(jīng)過多級小波變換,代表原圖像信息的小波系數(shù)的絕對值較大,而代表圖像噪聲信號的小波系數(shù)的絕對值相對較小。然后進(jìn)行小波濾波,將絕對值小于閾值的小波系數(shù)過濾,從而達(dá)到去噪的效果[3-4]。研究的基于二維小波變換的二值化處理方法具體步驟如下所述。
對一幅寬W,高H的彩色圖像,按照灰度化轉(zhuǎn)換公式(1)進(jìn)行灰度化處理,得到灰度圖像GRAY。
其中,x∈[1,W],y∈[1,H]。R(·)、G(·)和B(·)分別表示像素點(diǎn)的紅色分量、綠色分量和藍(lán)色分量。
對包含文字圖像的去噪處理包括小波分解、小波濾波、重構(gòu)和圖像插值等,將圖像中的前景文字作為噪聲去除,從而得到不包含文字信息圖像的近似背景分布。
1.2.1 小波分解
在圖像分析中,小波變換即將圖像進(jìn)行多分辨率分解。先對灰度圖像做1層小波分解,在1層小波分解的基礎(chǔ)上再作2層小波分解,以此類推執(zhí)行L次,得到第L層近似系數(shù)AL和三個(gè)方向的細(xì)節(jié)系數(shù),分別是水平細(xì)節(jié)系數(shù)垂直細(xì)節(jié)系數(shù)和對角細(xì)節(jié)系數(shù),其過程如圖1所示。
圖1 多級二維小波分解與重構(gòu)示意圖Fig.1 Diagram of multistage two-dimensional wavelet decomposition and reconstruction
對圖像進(jìn)行L層小波分解,得到3L+1個(gè)子帶,其中包括1個(gè)低頻基帶AL(最高層分解的近似系數(shù))和3L個(gè)高頻子帶(每一層分解的細(xì)節(jié)系數(shù))(1≤j≤L)。
1.2.2 小波濾波
小波分解后進(jìn)行低通濾波,平滑數(shù)字圖像中的文字部分,即將小波分解結(jié)果中大于閾值Tn的細(xì)節(jié)系數(shù)置為0,保留小于Tn的部分。在閾值選取時(shí),依照的是由DoNoho提出的visuthrink方法[5],如公式(2)所示。
其中,σn=c/0.671 5,c為小波細(xì)節(jié)系數(shù)絕對值的中值。N=3×HL×WL,HL和WL分別是L級小波分解后得到的系數(shù)矩陣的行數(shù)和列數(shù)。
1.2.3 小波重構(gòu)和圖像插值
對高層小波進(jìn)行1次重構(gòu)(如圖1所示),得到文字被過濾掉的圖像縮略圖。由小波重構(gòu)得到的背景分布縮略圖比原圖像小很多,所以要使用圖像插值的方法將圖像放大到原圖大小。比較了多種插值算法,包括最近鄰插值、雙線性插值和雙三次插值法,提出的方法采用了在細(xì)節(jié)保持方面表現(xiàn)較好的雙三次插值[6]。
1.2.4 前景分布
將灰度圖像和背景分布作差得到圖像的前景分布(包含文字信息)近似圖。有些像素點(diǎn)在過濾噪聲時(shí)值變大,這是因?yàn)樾〔V波的過程是對圖像做平滑處理,在作差運(yùn)算后可能出現(xiàn)負(fù)值,對于這種情況將該像素點(diǎn)的值置為0。
通過傳統(tǒng)的基于直方圖的灰度平均值、迭代最佳閾值和Otsu算法計(jì)算全局閾值,并將全局閾值與背景分布相疊加,形成局部閾值。根據(jù)得到的全局閾值和局部閾值進(jìn)行二值化處理,確定圖像中每一個(gè)像素點(diǎn)的像素值,最終得到二值化圖像。
實(shí)驗(yàn)采用Matlab 2014a對圖像進(jìn)行處理,分別通過灰度平均值、迭代最佳閾值和Otsu算法來計(jì)算全局閾值,比較提出方法和傳統(tǒng)算法的二值化效果,同時(shí)對全局閾值和局部閾值的圖像二值化結(jié)果進(jìn)行對比。然后,將提出方法和常用的局部閾值二值化算法(Niblack算法和Benrsen算法)進(jìn)行比較和分析。實(shí)驗(yàn)處理的圖像包括手機(jī)照片、數(shù)碼相機(jī)拍攝的照片和網(wǎng)絡(luò)上下載的圖片。
灰度平均值算法簡單,但是性能較差。對手機(jī)(1 200萬像素)拍攝的一幅字帖進(jìn)行1級小波變換,處理結(jié)果如圖2所示。灰度平均值算法得到的全局閾值并不能很好地分離前景和背景分布,采用二維小波變換后,效果明顯提升,且局部閾值的二值化效果優(yōu)于全局閾值,這是由于局部閾值更能反映局部特征。
圖2 基于二維小波變換和灰度平均值算法的二值化圖像Fig.2 Two-valued image based on two-dimensional wavelet transform and grayscale mean algorithm
采用迭代最佳閾值算法對網(wǎng)絡(luò)下載的一幅圖像計(jì)算全局閾值并進(jìn)行基于2級變換的二值化操作,結(jié)果如圖3所示。未采用小波變換的迭代最佳閾值算法處理后仍存在嚴(yán)重的背景噪聲,基于二維小波變換的二值化方法對文字的提取性能明顯優(yōu)于未采用小波變換的情況,局部閾值的效果更優(yōu)。
圖3 基于二維小波變換和迭代最佳閾值算法的二值化圖像Fig.3 Two-valued image based on two-dimensional wavelet transform and iterative optimal threshold algorithm
采用Otsu算法對數(shù)碼相機(jī)(像素2 000萬)拍攝的一幅海報(bào)進(jìn)行3級小波變換,二值化結(jié)果如圖4所示,基于二維小波變換的二值化效果明顯優(yōu)于只采用Otsu算法的效果。
圖4 基于二維小波變換和Otsu算法的二值化圖像Fig.4 Bivalued images based on two-dimensional wavelet transform and Otsu algorithm
通過圖2-4可知,相比于常見的全局閾值算法,提出的基于二維小波變換的方法二值化效果明顯提升。為進(jìn)一步驗(yàn)證其性能,將提出的方法與常見的局部閾值算法(Niblack和Bernsen算法)進(jìn)行仿真對比。
Niblack算法復(fù)雜度低,實(shí)現(xiàn)靈活,但對域模板大小的選擇直接影響該算法的性能,選擇不當(dāng)將引入偽噪聲或丟失信息。采用基于二維小波變換的二值化方法能夠有效去除背景噪聲,彌補(bǔ)Niblack算法存在的不足,效果如圖5所示。
圖5 基于二維小波變換和Niblack算法的二值化圖像Fig.5 Two-valued image based on two-dimensional wavelet transform and niblack algorithm
Bernsen作為另一經(jīng)典的局部二值化算法,其二值化效果較好,如圖6所示,采用提出的方法后,對背景噪聲(非文字部分)的濾除效果進(jìn)一步改善,為后續(xù)的文字提取和識別降低干擾。
圖6 基于二維小波變換和Bernsen算法的二值化圖像Fig.6 Binarization image based on two-dimensional wavelet transform and bernsen algorithm
綜合上述實(shí)驗(yàn),針對包含文字的數(shù)字圖像,分別在灰度平均值、最佳迭代閾值、Otsu算法得到全局閾值和Niblack、Bernsen算法得到局部閾值的前提下,采用提出的基于二維小波變換的方法進(jìn)行圖像處理計(jì)算復(fù)雜度提高,但是能夠有效抑制非文字部分的干擾,二值化效果都有明顯提升,驗(yàn)證了該方法的有效性。采用多級二維小波變換處理,其復(fù)雜度是O(M2N log N)(M表示二維小波變換的級數(shù),N表示圖像的像素點(diǎn)數(shù))。處理圖像包含手機(jī)、數(shù)碼相機(jī)拍攝的照片以及網(wǎng)絡(luò)上下載的圖片,說明該方法性能穩(wěn)定,適用范圍較廣。
對于包含文字的數(shù)字圖像,傳統(tǒng)的二值化算法并不能很好地區(qū)分文字部分和非文字部分。提出的方法通過小波分解、濾波、小波重構(gòu)和插值等操作將包含文字的部分分離,將不包含文字的部分作為噪聲濾除,從而得到更優(yōu)的二值化效果。