劉紅杰, 楊亞楠, 溫 佳, 韓 睿
(天津工業(yè)大學(xué) a.電氣與信息工程學(xué)院;b.電氣自動化與信息工程學(xué)院,天津 300072)
21世紀(jì)后,機(jī)器視覺相關(guān)領(lǐng)域得到發(fā)展,圖像處理技術(shù)在生產(chǎn)和生活中得到廣泛的應(yīng)用,極大地改變了人們的生活方式[1],如車牌識別[2]、人臉識別[3]等。對于金屬制造業(yè),研究人員進(jìn)行了有關(guān)金屬字符分割和識別的相關(guān)研究,如鋼板字符識別[4],金屬銘牌字符識別[5],鋼管字符識別[6]等。這類研究的主要目的即通過攝像機(jī)獲取金屬表面字符圖像,并通過算法實(shí)現(xiàn)對圖像中的字符的分割和識別,替代人工統(tǒng)計(jì)標(biāo)注。這不僅提高了工作效率,節(jié)省了人力物力,同時對于檢測的準(zhǔn)確率和識別率也得到明顯的改善。例如,對于金屬制造業(yè)來說,鋼管作為建筑業(yè)中的重要產(chǎn)品,日生產(chǎn)量大,編號較為復(fù)雜,字符信息的錄入已經(jīng)遠(yuǎn)遠(yuǎn)滯后于鋼管的制造,故而研究鋼管字符的準(zhǔn)確分割和辨識具有十分重要的意義。目前針對鋼管字符的研究依然處在初級階段,傳統(tǒng)的分割方法很難滿足需求。本文以鋼管字符的分割為研究方向,設(shè)計(jì)一種專門針對鋼管字符圖像的分割算法,以達(dá)到準(zhǔn)確分割的目的。
為改善畫質(zhì),使圖像的顯示效果更加清晰,需要進(jìn)行灰度變換[7];采用高斯濾波器對圖像進(jìn)行平滑處理;應(yīng)用頂帽變換解決拍照時反光現(xiàn)象造成的圖像不均勻光照問題;用自適應(yīng)閾值算法即大津法對圖像進(jìn)行二值化[8]。光照不均勻的實(shí)心字符圖像的原圖如圖1(a)所示,經(jīng)過預(yù)處理后的效果圖如圖1(b)所示。
圖1 光照不均勻的實(shí)心字符圖像
各種復(fù)雜背景的鋼管字符圖像經(jīng)過預(yù)處理后的效果圖如圖2所示,其中左側(cè)顯示的是圖像的原圖,右側(cè)顯示的是處理后的效果圖。
圖2 各種復(fù)雜背景的鋼管字符圖像經(jīng)過預(yù)處理的效果對比圖
由于鋼管字符背景環(huán)境復(fù)雜,在預(yù)處理階段很難做到將噪聲或其他干擾完全去除,在預(yù)處理后需對字符圖像進(jìn)行二次處理。鋼管字符分為實(shí)心字符和點(diǎn)陣字符,如圖2(a)所示點(diǎn)陣字符是不連接的,需要將字符進(jìn)行修補(bǔ)填充,具體實(shí)現(xiàn)算法如下。
(1)設(shè)圖像的高為img_H,寬為img_W。并設(shè)置一個高為img_H,寬為img_W的全零矩陣;
(2)從左到右,從上到下遍歷預(yù)處理后的圖像;
(3)如果遇到白色像素,就在全零矩陣的對應(yīng)位置向上向下各擴(kuò)充1個白色像素,這樣就達(dá)到了填充的目的,效果圖如圖3(a)所示。
填充后,字符周圍的噪點(diǎn)也會跟著變大,需將噪點(diǎn)去除,用opencv輪廓提取函數(shù)findContours實(shí)現(xiàn)輪廓的提取,用contourArea函數(shù)計(jì)算圖像各個輪廓的面積,將面積小于50的輪廓去掉,并做腐蝕操作將圖像中的“毛刺”去除,如圖3(b)所示。圖4(a)~(d)為在各種復(fù)雜背景下鋼管字符圖像經(jīng)過二次處理的效果圖。
圖3 圖像經(jīng)過二次處理后的效果圖
圖4 各種復(fù)雜背景的鋼管字符圖像經(jīng)過二次處理后的效果圖
鋼管字符分割的難點(diǎn)包括:字符的黏連、斷裂以及噪聲的影響。為解決上述問題設(shè)計(jì)了一款針對各類復(fù)雜情況下鋼管標(biāo)識圖像的字符分割算法。
如圖4(d)經(jīng)過預(yù)處理后的字符短缺圖像中的字符依然沒有完全的連接起來,如果直接進(jìn)行圖像分割會導(dǎo)致結(jié)果的錯誤,所以對圖像進(jìn)行分類處理是十分必要的[9]。根據(jù)連通域的性質(zhì)設(shè)計(jì)一種分類處理方法,流程圖如圖5所示。
圖5 分類處理方法流程圖
(1)首先將圖像進(jìn)行連通域標(biāo)記,面積較小的連通域除去。將連通域的個數(shù)與圖像中字符的個數(shù)進(jìn)行比較,當(dāng)連通域個數(shù)大于等于字符個數(shù)的2倍時,說明圖像為字符短缺圖像。反之,為其他類型圖像。
(2)字符短缺圖像需要使用長度為5,偏轉(zhuǎn)角度為90(即垂直方向)的線性結(jié)構(gòu)元素對圖像進(jìn)行膨脹處理。字符短缺圖像4(d)處理后的效果如圖6所示。
圖6 字符短缺圖像經(jīng)過膨脹處理后的效果圖
鋼管標(biāo)識圖像獲取過程中,鋼管擺放混亂或拍攝角度問題都會造成字符圖像傾斜,如果直接進(jìn)行字符分割,可能會導(dǎo)致分割結(jié)果的不準(zhǔn)確。有必要對字符圖像進(jìn)行傾斜校正。傾斜校正的方法主要有:Hough變換法[10]、Radon變換法、最小二乘法和兩點(diǎn)法等。Hough變換法、Rough變換法以及兩點(diǎn)法都是針對圖像中有特定的傾斜直線的,鋼管字符圖像沒有特定的直線作為參考,應(yīng)用最小二乘法直線擬合進(jìn)行鋼管標(biāo)識圖像的傾斜校正[11]。
根據(jù)連通區(qū)域邊界外接框的屬性計(jì)算出每個字符的高,當(dāng)字符的高大于圖像高的一半時則計(jì)算出字符的中心,設(shè)字符中心點(diǎn)的坐標(biāo)為(xi,yi)(i=1,2…,m),其中m為字符的個數(shù),最小二乘法的原理是將點(diǎn)集與光滑曲線y=f(x)進(jìn)行擬合[12],使點(diǎn)到直線的誤差平方和最小,根據(jù)這條直線獲得連通域的傾斜方向[13]。經(jīng)過傾斜校正后的效果圖如圖7所示。
圖7 圖像的傾斜校正
由于有一些噪聲干擾較嚴(yán)重的圖像,如傾斜校正后的圖像8(a),噪聲干擾的面積過大以至于無法去除,導(dǎo)致字符分割難度大,需將字符區(qū)域進(jìn)行定位[14]。具體的算法如下:
(1)將圖像進(jìn)行連通域的標(biāo)記;
(2)設(shè)定閾值為圖像高的1/2,根據(jù)連通域邊界外接框?qū)傩杂?jì)算每個連通域的高,當(dāng)連通域的高大于閾值時,保留連通域的屬性,相反,則不保留;
(3)通過保留的連通域,并由連通域邊界外接框?qū)傩灾烂總€連通域的左上角和右下角的坐標(biāo),將所有連通域左上角的y軸坐標(biāo)進(jìn)行比較,把最小的值作為圖像的上切割點(diǎn),同理,將右下角的y軸坐標(biāo)作比較,把最大的值作為圖像的下切割點(diǎn),這樣就可以得到最合適的上下切割點(diǎn),對圖像進(jìn)行切割,效果圖如圖8(b)所示。噪聲干擾不嚴(yán)重的圖像8(c)定位后的效果如圖8(d)所示。
圖8 圖像的定位
不同字符圖像的復(fù)雜程度不同,無法采用單一算法對其進(jìn)行分割,設(shè)計(jì)連通域分割法與上下輪廓分析法相結(jié)合的分割方法。該方法的主要思想如下:
(1)首先進(jìn)行連通域標(biāo)記,將小面積連通域去除,計(jì)算剩余連通域的個數(shù),將連通域個數(shù)與字符個數(shù)作對比;
(2)字符個數(shù)等于連通域個數(shù),說明字符間沒有黏連,這時直接采用連通域分割法;
(3)字符個數(shù)大于連通域個數(shù),說明字符間有黏連,這時采用連通域分割法與上下輪廓分析法相結(jié)合的方法。進(jìn)行連通域分割,并設(shè)定閾值,將寬度大于閾值的連通域提取出來,此時的連通域?yàn)轲みB字符部分,將該部分進(jìn)行上下輪廓分析法分割。
滿足連通域個數(shù)等于字符個數(shù)條件的圖像分割效果如圖9~12(a)、(b)所示。
圖9 光照不均勻的實(shí)心圖像分割后的效果圖
圖10 模糊的點(diǎn)陣圖像分割后的效果圖
圖11 實(shí)心斷裂字符圖像分割后的效果圖
由于鋼管自身的特殊性,字符可能受到聚光點(diǎn)或腐蝕的干擾造成字符黏連,傳統(tǒng)的垂直投影分割法和連通域分割法只能解決清晰圖像的分割問題,而大部分圖像則不能完成準(zhǔn)確分割。針對這類問題,設(shè)計(jì)一種上下輪廓分割法,該方法的主要思路是:將字符圖像進(jìn)行輪廓描繪,用字符圖像的上輪廓點(diǎn)減去下輪廓點(diǎn),得到最終的輪廓圖;根據(jù)其上下輪廓凹凸特征找到切割點(diǎn)進(jìn)行切割。滿足字符個數(shù)大于連通域個數(shù)的黏連字符圖像經(jīng)連通域標(biāo)記后的圖像如圖13(a)所示。可見,圖像的前3個字符黏連在一起,被標(biāo)記成一個連通域,將該連通域提取出來,如圖13(b)所示。并將該部分進(jìn)行上下輪廓描繪,下輪廓如圖13(c)所示,上輪廓如圖13(d)所示,上下相減得到的整體輪廓圖如圖13(e)所示。由整體輪廓可知,只要找到曲線的最佳谷點(diǎn)便找到了分割點(diǎn),其算法如下:
圖12 字符短缺的點(diǎn)陣圖像分割后的效果圖
(1)設(shè)置圖像的寬度為Img_W1,n=0,定義一個列表list。用D表示深度閾值,用K表示單個字符圖像的寬度閾值。
(2)從左到右遍歷曲線,將垂直坐標(biāo)點(diǎn)x對應(yīng)的輪廓曲線值減去坐標(biāo)點(diǎn)x+1對應(yīng)的輪廓曲線值,如果結(jié)果大于D,并且滿足x+1對應(yīng)的輪廓曲線值小于等于x+2對應(yīng)的輪廓曲線值,那么將x+1添加到list中,這時list中的值為黏連圖像的可能分割點(diǎn),如圖13(e)中的藍(lán)點(diǎn)所示。
(3)判斷l(xiāng)ist中的值是否為分割點(diǎn),將0和Img_W1分別插入到list的首尾部,遍歷列表list,如果列表中n+1點(diǎn)對應(yīng)的值減去n點(diǎn)對應(yīng)的值所得的結(jié)果小于K,并且n+2點(diǎn)對應(yīng)的值減去n+1點(diǎn)對應(yīng)的值所得的結(jié)果小于K,那么n+2點(diǎn)所對應(yīng)的值為圖像的分割點(diǎn),否則n+1點(diǎn)所對應(yīng)的值為圖像的分割點(diǎn),分割點(diǎn)如圖13(e)中的紅點(diǎn)所示。如果分割后圖像的寬度大于K,那么該圖像為最終的分割結(jié)果圖。效果圖如圖13(f)所示。
圖13 黏連字符圖像的分割過程
本文通過多張鋼管字符圖像驗(yàn)證了分割方法的可靠性,并將部分分割圖像進(jìn)行了展示。如圖14為部分鋼管字符圖像采用傳統(tǒng)的垂直投影分割法[15]、連通域分割法[16]和本文方法分割的效果圖。圖14(a)從上到下為4幅字符圖像,其中綠色框標(biāo)記的是單個字符區(qū)域,紅色框標(biāo)記的是黏連字符區(qū)域。圖14(b)是使用投影分割法后的效果圖,可見,分割錯誤較多;圖14(c)是使用連通域分割法分割后的效果圖,可見黏連字符區(qū)域沒有分割開;圖14(d)是使用本文方法分割后的效果圖,4幅鋼管圖像均分割正確。
圖14 不同分割方法的分割效果對比圖
相較于投影分割法和連通域分割法,本文方法更適用于黏連、傾斜以及有大面積噪聲干擾的鋼管字符圖像的分割。
在字符圖像特征的基礎(chǔ)上設(shè)計(jì)一種針對鋼管字符的預(yù)處理方法。鋼管通常受到反光和噪聲的干擾,故本設(shè)計(jì)采用頂帽變換去除光照對圖像的影響,使用高斯濾波去除噪聲,使用大津法得到質(zhì)量較高的二值圖像,并使用小面積去除算法去除圖像中的小塊干擾噪聲,通過圖像預(yù)處理得到適用于圖像分割算法的字符圖像。并將圖像進(jìn)行二次處理,修補(bǔ)填充其空。
在字符分割階段,為提高字符圖像分割的準(zhǔn)確率,根據(jù)連通域?qū)傩詫D像進(jìn)行分類處理,對圖像進(jìn)行傾斜校正和定位。使用連通域分割和上下輪廓分割2種算法完成分割任務(wù)。
該設(shè)計(jì)分割的準(zhǔn)確率主要取決于圖像預(yù)處理的效果和圖像的分類效果,采用本文提出的方法很大程度上降低了字符分割的難度。經(jīng)實(shí)驗(yàn)驗(yàn)證,本方法可較準(zhǔn)確的分割出反光、模糊、斷裂黏連字符圖像且明顯優(yōu)于傳統(tǒng)方法。此外,本設(shè)計(jì)使用了層層遞進(jìn)的算法思想,充分發(fā)揮了不同分割方法的優(yōu)點(diǎn)并提高了效率。