周文歡,鄭力新
(1.華僑大學 信息科學與工程學院,福建 廈門 361000;2.華僑大學 信息科學與工程學院,福建 泉州 362021)
目前國內的很多鋼材生產企業對棒材的計數主要通過人工來完成。人工計數不僅耗費工人大量的時間,而且容易引起人眼的疲勞,會產生較大誤差,給企業造成一定的經濟損失,因此企業急需開發出一種準確率高、適應性強的棒材自動計數系統。但是工業生產現場的環境惡劣,如捆扎棒材的堆放較近以及現場的一些光線等問題,使采集的圖片質量較差,端面粘連比較嚴重,給棒材的計數增添了很大麻煩。針對這些問題,提出了一種基于提取連通分量的方法來實現目標棒材區域的自動定位分割,標注區域的連通分量,并通過區域周長校正方法,很好地解決了上述問題。
棒材自動計數系統流程框圖如圖1所示,其主要分為采集、預處理與計數三個階段。其中,圖像采集屬于采集階段;圖像平滑去噪、圖像二值化、區域定位分割、形態學處理為預處理階段;而標注連通分量、利用區域周長法進行校正實現對棒材的準確計數為計數階段。

圖1 棒材自動計數系統的流程框圖
利用攝像頭對棒材端面進行拍攝,獲取工業生產現場的棒材端面圖片。但由于工業現場的噪聲、光照以及其他的一些反光物體的影響,拍攝的圖像質量很差,這給后續的圖像處理與棒材的計數帶來了很大難度。因此,應該在采集圖像階段盡可能地獲得質量較好的圖片,要求拍攝時應與棒材橫截面的光照平行,有均勻、恒定和較高的照度,以減弱現場光照與其他反光物體等對采集圖片質量的影響。圖2、圖3所示為不同采集環境下采集的圖片。


1.2.1 圖像的平滑
圖像平滑是一種可以減少和抑制圖像噪聲的實用數字圖像處理技術。由于工業現場的隨機噪聲較大,在此采用一種改進的中值濾波方法對采集的棒材端面圖像進行平滑去噪。
改進的中值濾波算法的思想是:逐行掃描圖像,當處理每一個像素時,判斷該像素是否是濾波窗口覆蓋下領域像素的極大或者極小值,如果是,則采用正常的中值濾波處理該像素;如果不是,則不予處理。
在實踐中該方法能夠非常有效地去除突發噪聲點,尤其是椒鹽噪聲,而且幾乎不影響邊緣。
1.2.2 圖像的二值化
圖像的二值化即選擇一個閾值,將圖像上的像素點的灰度值設置為0或255,令整個圖像呈現出明顯的黑白效果。在本文中,鑒于平滑后的棒材端面圖像目標與背景像素的比例相差不大,可對圖像進行二值化,能得到比較理想的效果。對圖2和圖3進行二值化的結果分別如圖 4、圖5所示。
提取連通分量[2-3,9-10]是針對二值圖像而言的,因此提取連通分量是提取相應二值圖像的連通分量。算法實現的步驟如下:
①確定一個對應于4連通和8連通[9]的3×3的模板結構元素,并初始化連通分量的標號為1。
②備份要標注連通分量的原圖像,將圖像的四周邊界置為黑色(算法不處理邊界上的點),分配與原圖像大小相同的目標圖像空間,并初始化為全0(黑色為背景色,白色為前景色)。
③找到一個前景點 (即像素值為255),初始化目標圖像為只有連通區中的一點,從這一個點開始用3×3模板結構元素進行膨脹,計算和原圖像的交集,限制膨脹不會超出區域。不斷執行上述過程,直到與上一次膨脹后的結果相同,說明該連通區域已經提取完畢。
④用標號標注剛剛找到的連通區 (即將唯一的標號賦給該連通區內的所有像素),記錄當前連通區所有點的坐標,并將連通區標號加1以標注下一個連通區。
⑤循環執行步驟④~步驟⑤,直到找到所有的連通區域。
(2)棒材計數區域的自動定位分割算法
算法的實現步驟如下:
①對經過預處理與二值化的圖像進行形態學處理,由于閉運算對目標圖像的整體邊界影響不大,在此對二值圖像進行兩次閉運算處理。
②用提取連通分量的算法來標注通過閉運算處理后的圖像中的每一個連通區域,并計算每一個連通區域的像素數,即連通區域的面積。在實際應用中,要檢測的目標區域的面積應該是圖像連通區域的面積中最大的,可以利用這一點,對區域進行準確的定位。圖像中連通面積最大外接矩形即為要處理的目標區域,如圖6所示。


1.2.3 區域的自動定位分割
從平滑、二值化后的圖片可以發現,由于工業現場復雜,不是所有的圖片進行預處理后都能得到比較理想的效果,如捆扎棒材堆放較近,或者周圍有什么反光物體,都會給計數帶來很大的麻煩。如圖5所示,即使通過形態學處理,要直接對目標區域進行準確的計數也是不可能的。對于這樣的目標區域,以往都采用手動分割,這給棒材的自動計數帶來了不必要的麻煩。本文提出了一種基于提取連通分量算法的自動定位分割算法,能準確地提取出目標圖像矩形區域。具體方法如下:
(1)提取連通分量算法

③矩形區域的確定。通過提取連通分量算法找到連通區域面積最大的區域(即找到連通區域標號相同像素數目最多的區域),計算最大連通區域中像素點坐標的水平方向與豎直方向的最小值、最大值以確定相應的輪廓最小矩形區域,并通過這個最小矩形區域從原始圖像分割出目標區域,如圖7所示。
1.2.4 目標圖像的形態學處理
對定位分割出的目標圖像進行二值化,雖然經過了濾波處理,但噪聲、區域粘連比較嚴重,要對其進行準確計數,應先對圖像進行腐蝕、膨脹、開與閉運算等相應處理,以填充小的空洞,去除粘連與噪聲。

本文選擇3×3的矩形結構元素與十字形結構元素結合,對自動定位的目標圖像進行相應的形態學處理,處理結果如圖8、圖9所示。


1.3.1 標注連通分量
在此用的標注連通分量算法與前文提取連通分量算法類似,但這里是用其來實現輪廓的標注,以方便后面的棒材的計數與校正。
1.3.2 計數與區域周長校正
對棒材實現準確的計數,在這里給出兩種方式,即形態學處理后的有粘連的棒材計數以及形態學處理后無粘連棒材的計數。若通過形態學處理后的二值圖像的輪廓區域沒有粘連,則實際的棒材的根數即為提取的連通區域的個數。但在實際應用中,有些圖像不論是進行怎樣的形態學處理,要對粘連區域進行理想分割是很難實現的。當然可以采用參考文獻[4]提出的區域面積法來實現棒材計數的校正,但是當區域腐蝕到一定程度時,區域變成扁平的形狀時,區域面積變得越來越小,區域面積校正法變得越來越不準確。但是區域的周長變化并不是很大,因此提出了一種基于區域周長校正的方法對棒材計數校正,對其能有很大程度改善,并有極高的準確率。
區域周長校正的具體步驟如下:
①計算所有提取外輪廓的周長,輪廓周長的計算采用Freeman鏈碼表[5-6]跟蹤輪廓邊界的方式來實現,其計算的公式為:

其中,Noven為輪廓邊緣的鏈碼為偶數的個數,Nodd為輪廓邊緣鏈碼為奇數的個數,Perimeter為輪廓的周長。
②設定平均每個區域周長為meanperimeter,其計算公式為:

其中,參數Perimeter(i)為第i個區域的周長,N為提取的區域連通分量的個數。
③根據大量的實驗統計分析,制定校正規則如下:
(a)當 1.4×meanperimeter<Perimeter(i)<2.5×meanperimeter時,校正系數為 1,即棒材總數加 1;
(b)當 2.5×meanperimeter<Perimeter(i)<3.5×meanperimeter時,校正系數為 2,即棒材總數加 2;
(c)當 3.5×meanperimeter<Perimeter(i)<4.5×meanperimeter,校正系數為3,即棒材總數加3;
(d)當 Perimeter(i)>4.5×meanperimeter 時,說 明 粘 連太嚴重,提示圖像處理不夠理想,請重新處理。
在VS 2008+Opencv 2.1平臺下編寫棒材自動計數的MFC界面程序進行實驗,實驗圖片為某鋼廠現場采集的8幅不同棒材端面圖像,并與參考文獻[4]采用的面積法進行比較,測試結果如表1所示。

表1 不同捆扎棒材的測試結果
對其中的兩幅圖像進行分析,如圖10和圖11所示,圖10棒材的實際根數是140,檢測值為140根,輪廓數是130,周長校正系數為 10;圖 11實際根數是 120,檢測值為119,其中輪廓數是106,校正系數為13。其原因是圖像采集與預處理不夠理想,導致形態學處理之后實際的根數少了1根。針對這一情況,筆者猜想通過一種選擇性腐蝕算法來進行相應改進,應該能得到比較理想的結果。


從實驗數據分析可知,本文提出的方法不僅對經過形態學處理效果較理想的圖片準確率高達100%,而且對處理效果不是很理想的圖片亦有極高的準確率。
盡管由于現場環境惡劣等原因,采集的圖片質量較差,致使棒材計數變得困難,但本文提出了一種基于提取連通分量的方法,實現了目標棒材計數區域的準確定位,使得不必再通過手工去確定目標棒材計數區域,以實現棒材計數真正的自動化。本文提出了一種區域輪廓周長的校正方法,能很好地實現粘連棒材的準確計數,測試結果說明了該方法的有效性、可行性與準確性,且對類似場合的粘連計數具有一定的通用性。
[1]0TSU N.A threshold selection method from gray 1evel histograms[J].IEEE Transactions on System Man and Cybernetic,1979,9(1);62-66.
[2]SKOURIKHINE A N.Dilated contour extraction and component labeling algorithm for object vector respresentation.Mathematical methods in pattern and image analysis:Proceedings of SPIE,2005,5916:1.
[3]Yan Shiju,Wang Chengtao.Application of a fast connected components labeling algorithm in processing landmark images[J].Journal of Shanghai Jiaotong University,2007,12(3):383-387.
[4]丁大弓朋,黃歡,羅山.基于圖像處理技術的棒材自動計數方法[J].山西電子技術,2008(3):41-42.
[5]宋凱,紀建偉.鏈碼表和線段表在計算機圖像處理中的應用[J].遼寧工程技術大學學報,2007(02):257-259.
[6]吳元敏.基于Freeman鏈碼的圖像中多個區域面積的計算方法[J].計算機工程與應用,2008(15):199-201.
[7]成鵬飛 ,楊帆,言立強,等.基于機器視覺的鋼棒自動計數系統[J].冶金自動化,2008,32(1):22-26.
[8]鄧凱.針對鋼筋計數系統的圖像處理方法研究[D].南京:東南大學,2006.
[9]張錚,王艷平,薛桂香.數字圖像處理與機器視覺[M].北京:人民郵電出版社,2010.
[10]GONZALEZ R C,WOODS R E,EDDINS S L.數字圖像處理[M].阮秋琦,譯.北京:電子工業出版社,2005.