LabVIEW OCR 實(shí)現車(chē)牌識別(實(shí)戰篇—3)
OCR(光學(xué)字符識別)是指機器自動(dòng)從圖像中識別文本字符的過(guò)程,OCR機器視覺(jué)系統可用于對被測件的識別和分類(lèi)。常見(jiàn)的識別應用包括:****品包裝標簽識別、IC芯片編碼讀取、沖壓零件上的字符識別、汽車(chē)零件編碼讀取以及車(chē)牌識別等。
OCR從本質(zhì)上可看作是目標分類(lèi)和識別的一種實(shí)際應用,因此它也包括訓練和分類(lèi)過(guò)程。
OCR訓練過(guò)程主要從圖像中提取用于字符識別的特征向量,并對各字符圖像賦予準確的字符值。具有相同字符值的字符樣本圖像構成一個(gè)字符類(lèi)(Character Class),該類(lèi)可以用其中一個(gè)最能代表該類(lèi)字符的樣本圖像來(lái)代表,稱(chēng)為參考字符(Reference Character)。字符訓練完成后,就可得到一個(gè)用于對字符進(jìn)行識別的字符集(Character Set)。
OCR對圖像中的文本進(jìn)行讀取時(shí),會(huì )先將圖像中的各個(gè)字符圖像分割開(kāi)來(lái),并將字符的特征向量與字符集中保存的特征向量進(jìn)行對比,選取滿(mǎn)足條件的最佳匹配向量所對應的字符值作為讀取識別結果。若有必要,也可以通過(guò)字符驗證過(guò)程對OCR的識別質(zhì)量進(jìn)行驗證。
下圖對OCR應用及OCR的關(guān)鍵技術(shù)點(diǎn)進(jìn)行匯總:
1
字符數據集訓練
和目標分類(lèi)過(guò)程類(lèi)似,要能使OCR過(guò)程正確讀取或驗證文本,就需要先使用字符樣本對分類(lèi)器進(jìn)行訓練。訓練過(guò)程一方面從字符樣本圖像中提取字符特征,另一方面將不同字符特征與字符值(相當于類(lèi)標識)進(jìn)行關(guān)聯(lián)映射。訓練結束后,字符特征及對應的字符值連同其他與字符識別相關(guān)的信息被一并保存在字符集文件中,用于后續的文本識別過(guò)程。從分類(lèi)識別的角度來(lái)看,訓練得到的字符集文件就相當于分類(lèi)器。
字符的屬性參數決定了OCR訓練和文本讀取驗證過(guò)程以何種方式分割字符。
常用的字符屬性包括字符的邊界長(cháng)和寬,字符間距、字符占像素的多少(又稱(chēng)為字符大?。┑?。字符間距若設置得太大,則OCR過(guò)程可能會(huì )將多個(gè)字符當成一個(gè)字符。點(diǎn)陣或字段類(lèi)字符可認為是由多個(gè)元素(Element)構成。這種情況下,各元素之間的橫向或縱向間隔是較為重要的字符屬性之一。元素間的間隔若設置過(guò)大,則字符圖像可能會(huì )包含多余的圖像顆粒;而若元素間的間隔設置過(guò)小,則字符圖像可能并不完全。無(wú)論哪種情況,都會(huì )造成要識別的字符與其對應圖像不能匹配。
Nl Vision提供了兩種OCR字符集訓練方法,一是使用NI OCR訓練器應用程序離線(xiàn)完成字符集訓練,二是使用程序代碼在運行時(shí)完成字符集訓練。
下圖顯示了NI OCR訓練器(位于:National InstrumentsVisionUtilityOCR Training InterfaceOCR Training.exe)用來(lái)設置字符屬性的界面,以及兩種OCR無(wú)法正確識別字符的示例。由于示例中字符元素橫向間隔設置過(guò)小,因此點(diǎn)陣字符O和R無(wú)法被完整識別。而由于字符間隔設置過(guò)大,OCR 3個(gè)字符被當成了一個(gè)字符。

也可以在程序代碼中使用位于LabVIEW的視覺(jué)與運動(dòng)→Machine Vision→OCR函數選板的IMAQ OCR Property讀取或配置OCR的各種字符屬性信息或形態(tài)學(xué)處理參數,如下所示:

函數說(shuō)明及使用可參見(jiàn)幫助手冊:

2
識別與驗證
在OCR應用中,文字識別或驗證過(guò)程實(shí)際上就是基于訓練得到的字符集信息對字符分類(lèi)的過(guò)程。OCR的字符集既可由Nl OCR訓練器應用程序離線(xiàn)訓練得到,也可由程序代碼在運行時(shí)訓練獲得。從圖像中識別文字時(shí),OCR程序先分割出各字符,并將其特征與字符集中的字符特征進(jìn)行對比,返回與之最接近的字符所在類(lèi)的字符值。
通過(guò)一個(gè)車(chē)牌識別實(shí)例了解OCR的應用方法,程序設計思路如下所示:
程序先使用IMAQOCR Read Character Set File讀取事先由NI OCR訓練器訓練得到的字符集文件TO-LlC.abc中的字符信息,然后由While循環(huán)逐一識別文件夾中的車(chē)牌圖像,從中識別車(chē)牌號碼;
在While循環(huán)中,程序將圖像讀入內存后,先刪除所有圖像中的疊加圖層,然后由IMAQ OCR Read Text 3從設定的ROI中識別車(chē)牌;
IMAQ Overlay ROI可以根據識別到字符的邊界矩形,在圖像中用紅色矩形框出各字符;
當退出按鈕被按下時(shí),程序退出While循環(huán),并在釋放內存空間、丟棄OCR會(huì )話(huà)后結束程序。
程序實(shí)現如下所示:

*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。
光耦相關(guān)文章:光耦原理