博客專欄

EEPW首頁(yè) > 博客 > LabVIEW OCR 實(shí)現(xiàn)車牌識(shí)別(實(shí)戰(zhàn)篇—3)

LabVIEW OCR 實(shí)現(xiàn)車牌識(shí)別(實(shí)戰(zhàn)篇—3)

發(fā)布人:美男子玩編程 時(shí)間:2022-06-22 來源:工程師 發(fā)布文章

OCR(光學(xué)字符識(shí)別)是指機(jī)器自動(dòng)從圖像中識(shí)別文本字符的過程,OCR機(jī)器視覺系統(tǒng)可用于對(duì)被測(cè)件的識(shí)別和分類。常見的識(shí)別應(yīng)用包括:****品包裝標(biāo)簽識(shí)別、IC芯片編碼讀取、沖壓零件上的字符識(shí)別、汽車零件編碼讀取以及車牌識(shí)別等。

OCR從本質(zhì)上可看作是目標(biāo)分類和識(shí)別的一種實(shí)際應(yīng)用,因此它也包括訓(xùn)練和分類過程。


OCR訓(xùn)練過程主要從圖像中提取用于字符識(shí)別的特征向量,并對(duì)各字符圖像賦予準(zhǔn)確的字符值。具有相同字符值的字符樣本圖像構(gòu)成一個(gè)字符類(Character Class),該類可以用其中一個(gè)最能代表該類字符的樣本圖像來代表,稱為參考字符(Reference Character)。字符訓(xùn)練完成后,就可得到一個(gè)用于對(duì)字符進(jìn)行識(shí)別的字符集(Character Set)。


OCR對(duì)圖像中的文本進(jìn)行讀取時(shí),會(huì)先將圖像中的各個(gè)字符圖像分割開來,并將字符的特征向量與字符集中保存的特征向量進(jìn)行對(duì)比,選取滿足條件的最佳匹配向量所對(duì)應(yīng)的字符值作為讀取識(shí)別結(jié)果。若有必要,也可以通過字符驗(yàn)證過程對(duì)OCR的識(shí)別質(zhì)量進(jìn)行驗(yàn)證。


下圖對(duì)OCR應(yīng)用及OCR的關(guān)鍵技術(shù)點(diǎn)進(jìn)行匯總:


圖片



1


字符數(shù)據(jù)集訓(xùn)練



和目標(biāo)分類過程類似,要能使OCR過程正確讀取或驗(yàn)證文本,就需要先使用字符樣本對(duì)分類器進(jìn)行訓(xùn)練。訓(xùn)練過程一方面從字符樣本圖像中提取字符特征,另一方面將不同字符特征與字符值(相當(dāng)于類標(biāo)識(shí))進(jìn)行關(guān)聯(lián)映射。訓(xùn)練結(jié)束后,字符特征及對(duì)應(yīng)的字符值連同其他與字符識(shí)別相關(guān)的信息被一并保存在字符集文件中,用于后續(xù)的文本識(shí)別過程。從分類識(shí)別的角度來看,訓(xùn)練得到的字符集文件就相當(dāng)于分類器。


字符的屬性參數(shù)決定了OCR訓(xùn)練和文本讀取驗(yàn)證過程以何種方式分割字符。


常用的字符屬性包括字符的邊界長(zhǎng)和寬,字符間距、字符占像素的多少(又稱為字符大?。┑取W址g距若設(shè)置得太大,則OCR過程可能會(huì)將多個(gè)字符當(dāng)成一個(gè)字符。點(diǎn)陣或字段類字符可認(rèn)為是由多個(gè)元素(Element)構(gòu)成。這種情況下,各元素之間的橫向或縱向間隔是較為重要的字符屬性之一。元素間的間隔若設(shè)置過大,則字符圖像可能會(huì)包含多余的圖像顆粒;而若元素間的間隔設(shè)置過小,則字符圖像可能并不完全。無(wú)論哪種情況,都會(huì)造成要識(shí)別的字符與其對(duì)應(yīng)圖像不能匹配。

Nl Vision提供了兩種OCR字符集訓(xùn)練方法,一是使用NI OCR訓(xùn)練器應(yīng)用程序離線完成字符集訓(xùn)練,二是使用程序代碼在運(yùn)行時(shí)完成字符集訓(xùn)練。


下圖顯示了NI OCR訓(xùn)練器(位于:National InstrumentsVisionUtilityOCR Training InterfaceOCR Training.exe)用來設(shè)置字符屬性的界面,以及兩種OCR無(wú)法正確識(shí)別字符的示例。由于示例中字符元素橫向間隔設(shè)置過小,因此點(diǎn)陣字符O和R無(wú)法被完整識(shí)別。而由于字符間隔設(shè)置過大,OCR 3個(gè)字符被當(dāng)成了一個(gè)字符。


圖片


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


圖片


函數(shù)說明及使用可參見幫助手冊(cè): 


圖片



2


識(shí)別與驗(yàn)證



在OCR應(yīng)用中,文字識(shí)別或驗(yàn)證過程實(shí)際上就是基于訓(xùn)練得到的字符集信息對(duì)字符分類的過程。OCR的字符集既可由Nl OCR訓(xùn)練器應(yīng)用程序離線訓(xùn)練得到,也可由程序代碼在運(yùn)行時(shí)訓(xùn)練獲得。從圖像中識(shí)別文字時(shí),OCR程序先分割出各字符,并將其特征與字符集中的字符特征進(jìn)行對(duì)比,返回與之最接近的字符所在類的字符值。


通過一個(gè)車牌識(shí)別實(shí)例了解OCR的應(yīng)用方法,程序設(shè)計(jì)思路如下所示:

  • 程序先使用IMAQOCR Read Character Set File讀取事先由NI OCR訓(xùn)練器訓(xùn)練得到的字符集文件TO-LlC.abc中的字符信息,然后由While循環(huán)逐一識(shí)別文件夾中的車牌圖像,從中識(shí)別車牌號(hào)碼;

  • 在While循環(huán)中,程序?qū)D像讀入內(nèi)存后,先刪除所有圖像中的疊加圖層,然后由IMAQ OCR Read Text 3從設(shè)定的ROI中識(shí)別車牌;

  • IMAQ Overlay ROI可以根據(jù)識(shí)別到字符的邊界矩形,在圖像中用紅色矩形框出各字符;

  • 當(dāng)退出按鈕被按下時(shí),程序退出While循環(huán),并在釋放內(nèi)存空間、丟棄OCR會(huì)話后結(jié)束程序。


程序?qū)崿F(xiàn)如下所示:


圖片


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。

光耦相關(guān)文章:光耦原理




關(guān)鍵詞: LabVIEW

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉