郭昊冉 黎小琴
在產品外觀上的字符印刷過程中容易出現(xiàn)字符漏印、字符不完整、字符混亂、字符之間粘連和斷裂等問題,給機器視覺處理帶來一定的困難。
本文通過研究形態(tài)學處理技術在字符識別中的應用,解決字符識別中的字符不完整、粘連和斷裂等問題,提高字符識別的準確性,通過德國MvTec公司的圖像處理軟件Halcon軟件實現(xiàn)字符識別的過程。
數(shù)學形態(tài)學[1,2]進行圖像處理的基本思想是:用結構元素對原圖像進行位移、交、并等運算,然后輸出處理后的圖像。最基本的形態(tài)學算子有:膨脹、腐蝕、開啟、閉合。用這些算子及其組合來進行圖像形狀和結構的分析及處理,可以解決抑制噪聲、特征提取、邊緣檢測、形狀識別、紋理分析、圖像恢復與重建等方面的問題。
腐蝕是一種消除邊界點,使邊界向內部收縮的過程。設二值圖像為F,其連通區(qū)域設為X,結構元素為S,當一個結構元素S的原點移到點(x, y)處時,我們將其記作Sxy。此時圖像X被結構元素S腐蝕運算可表示為:
膨脹是將與目標區(qū)域接觸的背景點合并到該目標物中,使目標邊界向外部擴張的處理。設二值圖像為F,結構元素為S,當一個結構元素S的原點移到圖像的(x,y)處時,我們將其記作Sxy。此時圖像X被結構元素S膨脹的運算可表示如下:
使用同一個結構元素對圖像先腐蝕再進行膨脹的運算稱為開運算[3]。在結構元素S下的開運算定義如下:
開運算通常用來消除小對象物、在纖細點處分離物體、平滑較大物體的邊界的同時并不明顯改變其面積。
使用同一個結構元素對圖像先膨脹再進行腐蝕的運算稱為閉運算。在結構元素S下的閉運算定義如下:
閉運算通常用來填充目標內細小空洞、連接斷開的鄰近目標、平滑其邊界的同時并不明顯改變其面積。
圖1所示為一個邊長為20個像素單位的方形,圖2 為其原形,下面對其進行腐蝕和膨脹實驗。
經過1次腐蝕運算,結果如圖3所示。從圖3中可以看出,細小的連接被消除,多余的噪聲點被去掉,邊緣也有一定的腐蝕效果。
對上述一次腐蝕結果進行膨脹后得到圖4。從圖4中可以看出,圖像在一定程度上被擴大了,圖中的孔經過膨脹后變小,邊緣也有一定的膨脹效果。
對圖4進行二次膨脹運算得到圖5,可以從圖5中明顯看出,圖中的縫隙消失,小孔消失。因此,腐蝕和膨脹結合使用可以進行圖像平滑。
圖像預處理[4,5]的主要目的是消除圖像中無關的信息,更凸出需要的信息,增強有關信息的可檢測性和最大限度地簡化數(shù)據(jù),從而改進特征抽取、圖像分割、匹配和識別的可靠性。
本文主要使用閾值處理來提取有用信息,白色為目標區(qū)域,黑色為背景區(qū)域。圖6為實驗原始圖片,通過調試和觀察發(fā)現(xiàn)當閾值95時為分割效果最佳,最佳閾值分割效果如圖7所示。
圖像分割的結果是二值圖像,從圖7中可以看出,目標圖像中存在英文字符等偽目標。首先利用半徑為2.5的圓形的結構元素對圖7進行開運算,清除干擾項,得到圖8所示的二值圖像。
開運算關鍵代碼為:opening_circle(RemovedNoise,ThickStructures, 2.5)。
如圖8所示,可以看到在圖像中,0與1之間有粘連,這會導致無法準確識別字符,所以必須要截斷粘連。首先要進行填充區(qū)域洞,避免截斷我們所需的字符。其關鍵代碼為:fill_up_shape(RawSegmentation,RemovedNoise, ‘area’, 1, 5)。填充區(qū)域洞得到的結果如圖9所示。其次,利用矩形的結構元素對圖9進行開運算,截斷粘連,得到結果如圖10所示,其關鍵代碼為opening_rectangle(Solid,Cut, 1, 7)。最后利用intersection函數(shù)取區(qū)域交集得到目標區(qū)域,如圖11所示。
經過形態(tài)學圖像處理,增強了目標字符特征,再利用特征直方圖提取目標字符,結果如圖12所示。齊關鍵代碼為select_shape(NumberCandidates, Numbers, ‘area’, 300, 9999)。
本文使用Industrial_0-9A-Z.omc OCR訓練字符對字符進行識別。并利用for循環(huán)識別每個字符,并將得到的字符串顯示在窗口上,如圖13所示。
本文利用德國的機器視覺軟件Halcon,通過開運算和閉運算等形態(tài)學處理相關知識來實現(xiàn)對于光學字符的準確識別。通過對圖像的預處理,利用灰度直方圖對圖像進行閾值處理減少干擾獲得所需區(qū)域,利用開運算和閉運算形態(tài)學處理相關知識解決圖像粘連、模糊、斷裂等問題,最終通過OCR訓練字符對其進行識別。
圖2 原圖
圖3 1次腐蝕結果
圖4 1次膨脹結果
圖5 2次膨脹結果
圖6 原圖
圖7 閾值處理后圖像
圖8 利用圓形結構特征開運算
圖9 填充區(qū)域洞后圖像
圖10 利用矩形結構特征開運算
圖11 填充前和開運算后交集圖
圖12 提取目標字符
圖13 實驗結果