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