高哲 董文 趙健 畢也
摘 要:基于HALCON/NET開發(fā)了名片字符識(shí)別系統(tǒng),通過實(shí)時(shí)采集名片圖片后預(yù)處理、透視投影校正、字符識(shí)別等步驟,實(shí)現(xiàn)了名片上電話號(hào)碼的自動(dòng)輸入,減少人工管理大量名片的工作復(fù)雜度。結(jié)果準(zhǔn)確率可達(dá)99.99%。
關(guān)鍵詞:HALCON/NET;圖像校正;號(hào)碼識(shí)別
在商務(wù)活動(dòng)中,名片作為一個(gè)重要的身份信息載體,得到了十分廣泛的使用。但與此同時(shí),大量的名片也給人們帶來管理上的麻煩。本文針對(duì)這個(gè)情況,基于HALCON/NET開發(fā)設(shè)計(jì)了名片電話自動(dòng)識(shí)別軟件,大大提高了名片管理的效率,并且號(hào)碼錄入精度顯著優(yōu)于人工輸入。
HALCON是德國MVTec公司開發(fā)的一套完善的機(jī)器視覺算法包,擁有便利的機(jī)器視覺集成開發(fā)環(huán)境和廣泛的機(jī)器視覺算子,應(yīng)用范圍涵蓋醫(yī)學(xué)、監(jiān)控、遙感探測(cè),乃至工業(yè)自動(dòng)化等領(lǐng)域。HALCON支持Windows,Linux和Mac OS等系統(tǒng),其函數(shù)庫可以用C,C++,C#,VB等語言訪問,并且提供了大量的圖像獲取設(shè)備接口,包括USB,GigE,1394等,十分便于開發(fā)設(shè)計(jì)人員使用。
1 系統(tǒng)設(shè)計(jì)
本系統(tǒng)的硬件主要包含兩大部分:PC機(jī)和圖像采集設(shè)備。PC機(jī)安裝windows操作系統(tǒng),對(duì)采集到的名片圖像進(jìn)行處理與識(shí)別,并自動(dòng)顯示和保存識(shí)別結(jié)果;圖像采集設(shè)備與PC機(jī)相連,采集名片的圖像。因?yàn)樵谧匀还庀虏杉拿瑘D像便比較清晰,識(shí)別率可達(dá)到令人比較滿意的程度,所以本系統(tǒng)未采用額外的照明光源。
2 圖像采集
HALCON中提供了幾乎包含所有的圖像采集設(shè)備接口,并且提供了圖像采集助手,便于連接采集設(shè)備。打開HALCON 的圖像采集助手,便能夠設(shè)置當(dāng)前的圖像采集設(shè)備,并且能夠設(shè)置設(shè)備的各項(xiàng)參數(shù).
本系統(tǒng)所采用的相機(jī)是映美精的DFK-23G445,像素1280*960,GigE接口,最大幀率為30FPS。通過采集助手設(shè)置好了圖像采集設(shè)備的名稱和曝光白平衡等參數(shù)之后,便能夠?qū)С鯤Develop代碼,通過HDevelop打開和預(yù)覽采集到的圖像了。
3 圖像預(yù)處理
名片經(jīng)過圖像采集設(shè)備采集,存儲(chǔ)到電腦中的是數(shù)字圖像信息。在采集的過程中,名片的光潔度,油墨的深淺,環(huán)境光照的亮度等干擾,都會(huì)影響最終的成像質(zhì)量。所以,在進(jìn)行字符識(shí)別之前,需要對(duì)這些干擾進(jìn)行預(yù)處理,目的是突出需要被識(shí)別的主要字符,盡量減弱干擾。本系統(tǒng)中,圖像的預(yù)處理環(huán)節(jié)主要包含灰度化、圖像去噪和二值化3部分。
3.1 灰度化
常用的相機(jī)采集到的圖像是彩色RGB格式的,在處理之前,可以將其轉(zhuǎn)換為灰度圖像,便于后續(xù)處理的進(jìn)行。由于人眼對(duì)于綠色分量比較敏感,所以常用的灰度化公式如式2.1:
3.2 去噪
圖像在采集過程中,不可避免的會(huì)包含一定的噪聲干擾。因?yàn)楸疚闹胁⑽床捎霉庠矗侵苯邮褂米匀还庾鳛楣庠?,所以相機(jī)的噪聲干擾更加明顯。在進(jìn)行進(jìn)一步處理之前,圖像去噪是必須的環(huán)節(jié)。
本文所采用的去噪方法是中值濾波法,中值濾波法是一種常見的濾波技術(shù),該方法的思路是把目標(biāo)點(diǎn)周圍一定大小的區(qū)域內(nèi)的像素點(diǎn)的值進(jìn)行排序,并且把排序在中位的值作為該點(diǎn)濾波后的值。中值濾波能夠很大程度上去除噪聲的干擾,并且能夠較好的保持圖像的清晰程度。
3.3 二值化
二值化是把灰度圖像轉(zhuǎn)換為二值圖像的過程,目的是把感興趣區(qū)域從整個(gè)圖像中分離開來。本文采用大津閾值法進(jìn)行二值化分割。大津閾值法又叫做最大類間方差法,它是按照?qǐng)D像的灰度特征將圖像分為前景和背景兩部分,前景與背景之間的方差越大,說明這兩部分的差別越大,那么分錯(cuò)的概率也就最小[1]。大津閾值法可以這樣描述:假設(shè)圖像I(x,y)中,被閾值T分割后,前景像素所占比例為w0,平均灰度為u0,背景占比為w1,平均灰度為u1,圖像總平均灰度為u,類間方差為g,那么有
在遍歷所有閾值后,得到最大類間方差的閾值T即是所求的閾值。二值化前后的圖像如下圖
3.4 圖像校正
由于拍攝過程中,名片和相機(jī)可能不是剛好的垂直方向,而是存在一定的角度,那么拍出的圖像可能就會(huì)存在圖2中所顯示的透視失真情況。投影失真的情況下,號(hào)碼角度是傾斜的,并且大小不一致,給識(shí)別精度帶來了影響,需要進(jìn)行圖像的校正。
本系統(tǒng)中圖像校正的流程如下:
(1)在二值化圖像中提取符合名片區(qū)域面積特征的區(qū)域作為目標(biāo)區(qū)域;
(2)對(duì)目標(biāo)區(qū)域提取凸包;
(3)提取凸包后,對(duì)凸包的邊緣進(jìn)行合并,將角度相近并且彼此相連的凸包邊緣合并;
(4)提取合并后的凸包邊緣起點(diǎn)和終點(diǎn),這些點(diǎn)就是名片的四個(gè)角的位置;
(5)根據(jù)四個(gè)角點(diǎn)的坐標(biāo)和根據(jù)已知名片尺寸所給出的目標(biāo)點(diǎn)坐標(biāo),求取透視變換的校正矩陣;
(6)利用校正矩陣對(duì)名片區(qū)域進(jìn)行校正。
在步驟1中,我們選取了面積大于20000的區(qū)域作為待選區(qū)域,排除掉小面積區(qū)域的干擾;在步驟3中,凸包邊緣的合并條件是角度差別小于10°。透視變換校正前后的效果如圖3所示,可以明顯看到,變換前名片上的字符傾斜,并且有嚴(yán)重變形;變換后的名片字符處于水平狀態(tài)并且大小一致,便于后續(xù)的字符識(shí)別處理。
4 號(hào)碼識(shí)別
透視變換校正后,名片圖像變?yōu)樗椒胖玫囊粋€(gè)規(guī)則的矩形。此時(shí),用鼠標(biāo)拖拽出一個(gè)矩形來圈出所需要識(shí)別的目標(biāo)區(qū)域,之后對(duì)圈出的區(qū)域內(nèi)的號(hào)碼進(jìn)行識(shí)別。HALCON中包含了基于SVM和MLP的字符識(shí)別模塊,并且已經(jīng)訓(xùn)練好了常見的字符識(shí)別神經(jīng)網(wǎng)絡(luò),能夠?qū)ΤR娮煮w的字符進(jìn)行高精度和快速的識(shí)別[2]。
號(hào)碼識(shí)別的步驟如下:
(1)對(duì)目標(biāo)矩形區(qū)域進(jìn)行自動(dòng)閾值二值化處理;
(2)對(duì)二值化圖像求聯(lián)通區(qū)域,并選擇符合字符寬度和高度條件的區(qū)域作為待選區(qū)域;
(3)對(duì)待選區(qū)域從左到右進(jìn)行排序;
(4)按照順序?qū)γ總€(gè)區(qū)域進(jìn)行字符識(shí)別,若有字符的識(shí)別可信度低于我們?cè)O(shè)定的閾值,則會(huì)進(jìn)行報(bào)警,提示用戶有字符識(shí)別效果不理想,可能是圖像采集不夠清晰,需要重新采集。
字符區(qū)域的分割效果如圖4所示,各個(gè)區(qū)域分割清晰,無粘連現(xiàn)象。
5 利用HALCON生成C#代碼
C#作為一種面向?qū)ο蟮?、運(yùn)行于.NET Framwwork之上的高級(jí)程序設(shè)計(jì)語言,有著“簡單、現(xiàn)代、通用”的優(yōu)點(diǎn),十分適合開發(fā)基于Windows系統(tǒng)的桌面程序。而HALCON的集成開發(fā)工具HDevelop可以將代碼快速的導(dǎo)出為C#代碼,所以,基于C#和HALCON開發(fā)的圖像處理軟件有著極為快速的開發(fā)速度和極高的穩(wěn)定性。
經(jīng)過測(cè)試,本系統(tǒng)的識(shí)別準(zhǔn)確率可達(dá)到99.99%以上,識(shí)別速度在20ms以內(nèi),能夠大大減輕大量名片管理的工作量,并且與人工輸入相比,有著更高的準(zhǔn)確率。
6 結(jié)束語
本文基于HALCON/NET開發(fā)設(shè)計(jì)了名片電話識(shí)別系統(tǒng),在經(jīng)過圖像的采集、校正、識(shí)別過程后,準(zhǔn)確得到電話號(hào)碼、傳真、手機(jī)號(hào)等,與人工操作相比,大大減輕了名片管理的工作量,并且提高了號(hào)碼輸入的精度。實(shí)際測(cè)試表明,該系統(tǒng)穩(wěn)定性強(qiáng)、運(yùn)行效率高、檢測(cè)精度高。
參考文獻(xiàn)
[1]郭平,張樺,武二永.基于形狀上下文的車牌字符識(shí)別[J].杭州電子科技大學(xué)學(xué)報(bào),2012,(2):32-35.
[2]李彥飛.基于圖像處理的字符識(shí)別方法研究[J].當(dāng)代教育實(shí)踐與教學(xué)研究,2016,(8):10-13.
(作者單位:北方重工集團(tuán)有限公司)