- 相關(guān)推薦
基于NIOS II車(chē)牌識(shí)別系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)
【摘 要】隨著社會(huì)的發(fā)展,智能交通已經(jīng)成為當(dāng)前交通管理發(fā)展的主要方向,而車(chē)牌識(shí)別技術(shù)在智能交通系統(tǒng)中起著舉足輕重的作用。本文應(yīng)用基于NIOS II嵌入式處理器的SOPC技術(shù),采用Quartus II、SOPC Builder及Matlab等開(kāi)發(fā)工具,創(chuàng)建和配置了NIOS II軟核處理器,生成了系統(tǒng)的核心硬件電路和軟件開(kāi)發(fā)包,并對(duì)硬件電路進(jìn)行了調(diào)試;對(duì)采集的車(chē)牌圖像進(jìn)行實(shí)驗(yàn),車(chē)牌識(shí)別效果較好。
【關(guān)鍵詞】車(chē)牌識(shí)別;Nios II;FPGA;嵌入式系統(tǒng)
一、引言
隨著社會(huì)的發(fā)展,智能交通已經(jīng)成為當(dāng)前交通管理發(fā)展的主要方向,而車(chē)牌識(shí)別技術(shù)在智能交通系統(tǒng)中起著舉足輕重的作用。車(chē)輛牌照識(shí)別技術(shù)是從一副圖像中自動(dòng)定位,并對(duì)牌照區(qū)域圖像進(jìn)行字符分割,最后對(duì)字符進(jìn)行正確識(shí)別,從而達(dá)到識(shí)別車(chē)輛的目的。
許多高校和科研單位,提出了各種各樣的車(chē)牌識(shí)別技術(shù)被廣泛使用,如條形碼識(shí)別技術(shù),但這種技術(shù)需要高成本。而車(chē)牌識(shí)別系統(tǒng)的一個(gè)重要特點(diǎn)是低成本,如果車(chē)牌識(shí)別算法嵌入合適,就能成功地識(shí)別車(chē)牌號(hào)碼。
二、硬件平臺(tái)的介紹
本系統(tǒng)選用的硬件平臺(tái)是Cyclone II系列FPGA中的EP2C35F672C6。圖1為FPGA開(kāi)發(fā)板的圖片。
三、系統(tǒng)總體方案設(shè)計(jì)
(一)系統(tǒng)的功能分析
車(chē)牌識(shí)別系統(tǒng)主要由車(chē)牌預(yù)處理模塊,車(chē)牌識(shí)別模塊和圖像顯示模塊三部分組成。車(chē)牌預(yù)處理模塊的主要功能是對(duì)車(chē)牌的原始圖片進(jìn)行初步的圖像處理以便于后續(xù)的車(chē)牌識(shí)別;車(chē)牌識(shí)別模塊主要實(shí)現(xiàn)的是車(chē)牌區(qū)域的定位、牌照區(qū)域的圖像處理、車(chē)牌字符切分和字符識(shí)別的功能;圖像顯示模塊是實(shí)現(xiàn)處理后的車(chē)牌圖像顯示在VGA上、字符識(shí)別結(jié)果顯示在LCD上。
(二)系統(tǒng)的整體方案設(shè)計(jì)
本系統(tǒng)是在FPGA利用SOPC技術(shù)實(shí)現(xiàn)車(chē)牌圖像的處理。它經(jīng)過(guò)對(duì)原始圖像的處理和識(shí)別后將得到的圖像信息顯示在VGA上,并把識(shí)別結(jié)果在LCD顯示。
根據(jù)設(shè)計(jì)要求,本設(shè)計(jì)搭建了如下NIOS II系統(tǒng)結(jié)構(gòu),整個(gè)系統(tǒng)的核心部分是FPGA的內(nèi)嵌Nios II軟核,外圍設(shè)備和芯片包括VGA顯示器、LCD、片外SDRAM、SRAM存儲(chǔ)器等。
(三)車(chē)牌識(shí)別算法的介紹
車(chē)牌識(shí)別系統(tǒng)的3大關(guān)鍵步驟為:牌照區(qū)域的定位、車(chē)牌字符分割與單個(gè)字符識(shí)別3個(gè)步驟。
(1)牌照區(qū)域的定位
在外界環(huán)境中,要在光照不均勻、環(huán)境條件復(fù)雜的情況下定位車(chē)牌區(qū)域是非常困難的,所以能否準(zhǔn)確的定位拍照區(qū)域在整個(gè)車(chē)牌識(shí)別系統(tǒng)中起著至關(guān)重要的作用。首先對(duì)采集到的原始圖像進(jìn)行初步定位,然后對(duì)此區(qū)域再做進(jìn)一步分析,最后選定牌照區(qū)域,將其從圖像中分割出來(lái)。算法流程如下:
①在車(chē)牌預(yù)處理后的圖像中準(zhǔn)確定位車(chē)牌區(qū)域。根據(jù)車(chē)牌圖像的特點(diǎn)即白像素點(diǎn)的個(gè)數(shù)來(lái)定位車(chē)牌的上下左右四個(gè)邊界。
、 根據(jù)上面定位的四個(gè)邊界,截取出圖片中的車(chē)牌區(qū)域,并在該區(qū)域顯示車(chē)牌灰度處理后的圖片。
(2)車(chē)牌字符分割
牌照區(qū)域定位完成之后,就要將整個(gè)車(chē)牌準(zhǔn)確的分割為單個(gè)字符。一般采用的方法為垂直投影法。首先根據(jù)實(shí)際車(chē)牌的大小得出車(chē)牌中每個(gè)字符的長(zhǎng)和寬以及兩個(gè)字符間的距離,以便進(jìn)行字符的粗略分割。然后再根據(jù)車(chē)牌的垂直投影法來(lái)精確的分割每個(gè)車(chē)牌字符。
(3)單個(gè)字符識(shí)別
我國(guó)的車(chē)牌都是第一個(gè)字符為漢字(省的縮寫(xiě))、第二個(gè)字符為英文字母,第三個(gè)字符為一個(gè)英文字母或數(shù)字,最后四個(gè)字符為數(shù)字。現(xiàn)在車(chē)牌字符識(shí)別主要采用的方法為基于模板匹配的算法。在進(jìn)行模板匹配之前需要對(duì)待識(shí)別的字符進(jìn)行處理,最后再與已知的模板進(jìn)行匹配。
(四)系統(tǒng)硬件設(shè)計(jì)
本系統(tǒng)使用集成在Quartus II中的SOPC Builder開(kāi)發(fā)組件配置生成片上系統(tǒng)。完成系統(tǒng)配置以后,SOPC Builder會(huì)自動(dòng)生成VHDL或Verilog HDL的系統(tǒng)級(jí)設(shè)計(jì)代碼,并自動(dòng)生成部分外設(shè)的硬件抽象層(HAL)代碼和底層硬件驅(qū)動(dòng)代碼,為軟件開(kāi)發(fā)做好準(zhǔn)備。
根據(jù)設(shè)計(jì)要求,本設(shè)計(jì)搭建了如下NIOS II系統(tǒng)結(jié)構(gòu),如圖2
具體搭建過(guò)程如下:
(1)建立工程并建立頂層設(shè)計(jì)文件,在Quartus II軟件中建立新工程。在建立工程之后,為工程建立一個(gè)頂層設(shè)計(jì)文件,本系統(tǒng)是用的是原理圖設(shè)計(jì)文件。
(2)用SOPC Builder建立一個(gè)新的SOPC硬件系統(tǒng),由SOPC生成的系統(tǒng)模塊從下至上依次為:系統(tǒng)時(shí)鐘復(fù)位信號(hào)、LCD控制模塊、PIO輸入模塊、SDRAM模塊、SRAM模塊和VGA控制模塊。
(3)導(dǎo)入分配引腳,編譯并下載設(shè)計(jì)
(4)在Nios II IDE中建立新工程
(5)修改系統(tǒng)庫(kù)屬性
(6)編寫(xiě)代碼
(7)編譯并運(yùn)行工程
系統(tǒng)的工作過(guò)程為:系統(tǒng)配置完成后,將原始圖像轉(zhuǎn)換為圖像數(shù)據(jù),然后把圖像數(shù)據(jù)存入SRAM中,在Nios II處理器中通過(guò)C語(yǔ)言實(shí)現(xiàn)圖像的處理和識(shí)別,處理后的圖像再經(jīng)過(guò)數(shù)模轉(zhuǎn)換顯示在VGA上,識(shí)別后的結(jié)果在LCD上顯示。
四、結(jié)果實(shí)測(cè)及分析
應(yīng)用上述的車(chē)牌識(shí)別系統(tǒng),對(duì)車(chē)牌圖像進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)輸入圖像(圖3)尺寸為320×240象素。處理后的圖像(圖4)會(huì)在VGA上顯示,識(shí)別結(jié)果在LCD上顯示(圖5)。
本車(chē)牌識(shí)別系統(tǒng)還存在的主要問(wèn)題為:FPGA和Nios II程序中還有很大的優(yōu)化空間,如FPGA上可以添加圖像識(shí)別算法,有效利用FPGA資源,提高識(shí)別速度。
五、總結(jié)
本車(chē)牌識(shí)別系統(tǒng)通過(guò)Altera公司提供Quartus II、SOPC Builder、Nios II IDE等配套開(kāi)發(fā)軟件,完成了Nios軟核的設(shè)計(jì),再把圖像識(shí)別的算法通過(guò)C語(yǔ)言輸入到Nios II中,完成了整體系統(tǒng)的軟件設(shè)計(jì)。把整個(gè)系統(tǒng)下載到硬件進(jìn)行調(diào)試,最終系統(tǒng)工作穩(wěn)定,能夠?qū)崿F(xiàn)圖像的算法識(shí)別、識(shí)別后圖像的顯示和識(shí)別結(jié)果的輸出的功能。
最后,我堅(jiān)信通過(guò)進(jìn)一步的研究與探索,該車(chē)牌識(shí)別系統(tǒng)在識(shí)別率和識(shí)別速度達(dá)到標(biāo)準(zhǔn)的時(shí)候,它將能大規(guī)模應(yīng)用于各個(gè)交通控制領(lǐng)域,并具有非常廣闊的市場(chǎng)前景。
參考文獻(xiàn):
[1]車(chē)牌識(shí)別技術(shù)研究論文.http://www.cpsb.net.cn/html/2008-8-1/200881160229.html
[2]傅海東.基于DSP和FPGA的車(chē)牌識(shí)別系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn) [D].成都:電子科技大學(xué),2009.
[3]王剛,冀小平.基于MATLAB的車(chē)牌識(shí)別系統(tǒng)的研究[J].電子設(shè)計(jì)工程,2009,(17):72-73.
[4]蔣毅,李峰.基于FPGA 的車(chē)牌字符識(shí)別方法的研究[J].微計(jì)算機(jī)信息,2010,(14).
[5]牛欣,沈蘭蓀.汽車(chē)牌照識(shí)別技術(shù)的研究[J].測(cè)控技術(shù),1999,18(12);14-17.
【基于NIOS II車(chē)牌識(shí)別系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)】相關(guān)文章:
基于USB與DSP的指紋識(shí)別系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)08-29
基于NiosII軟核處理器的指紋識(shí)別系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)05-07
基于Nios軟核的嵌入式Internet系統(tǒng)設(shè)計(jì)08-21
基于ASP購(gòu)物系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)ASP+SQL09-03
基于Perl的DoS工具設(shè)計(jì)與實(shí)現(xiàn)10-05
基于PQRM的PACS系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)08-02
基于uCLinux的USB Host的設(shè)計(jì)與實(shí)現(xiàn)10-20
基于Kinect的自主康復(fù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)05-27