欒眾楷,徐文濤,劉 冰
(1.南京航空航天大學 能源與動力學院,江蘇 南京 210016;2.南京航空航天大學 理學院,江蘇 南京 211106)
基于安卓平臺的車牌識別系統的設計與實現
欒眾楷1,徐文濤2,劉 冰2
(1.南京航空航天大學能源與動力學院,江蘇 南京210016;2.南京航空航天大學 理學院,江蘇 南京211106)
為滿足智能交通系統對終端便攜性的要求,設計并實現了基于Android平臺的車輛牌照識別系統。該系統由圖像獲取模塊、車牌識別模塊和顯示模塊3個部分組成。通過驅動設備攝像頭采集車牌圖像,利用圖像處理技術對采集到的圖像進行預處理、字符分割及模板匹配等,從而將圖像中的車牌信息轉換成文字信息。該系統可方便移植到各種Android設備中,開發者可以在此系統的基礎上進行二次開發,使其可以應用到各種智能交通系統中。經測試,該系統對車牌識別的準確度和實時性都能達到智能交通應用的一般要求。
智能交通系統;Android平臺;車輛牌照識別
車牌識別系統[1]是智能交通系統的重要組成部分之一,其可將采集到圖像中的車牌信息轉換成文字信息并進行存儲。與圖片信息相比,文字信息傳輸可節省帶寬,存儲可降低硬件開支,且信息調用更加便利。該系統可用于停車場計費、交通管理等應用環境[2-4],提高了車輛信息采集、查詢的效率。
車牌識別系統需要實時準確的完成對采集到圖像中的車牌部分進行定位提取、分割識別等一系列工作。目前有很多院校在相關算法[5-6]方面做了大量的研究,并取得了一定成果。國內外廣大學者主要針對車牌識別算法中的車牌定位及識別等方面進行研究。其中,普遍采用的定位方法有基于顏色特征定位、基于灰度躍變定位、基于字符邊界特征定位、基于小波變換定位等方法;主要的識別方法[7-8]有神經網絡法、模板匹配法、Adaboost分類器法等方法。
隨著智能交通技術的飛速發展,基于PC機的處理系統已然不能滿足智能交通系統對終端便攜性的要求[9]。智能手機具有便攜、工作不受環境限制等特點,且可隨時隨地方便聯網,已成為目前信息處理的一個重要平臺。其中Android設備[10-11]以其代碼開源、價格低廉等優勢,且支持多硬件平臺,享有極大地市場占有率,這使其成為智能交通系統實現的重要工具之一。
本文設計了基于Android的車輛牌照識別系統,該系統可方便的移植到各種Android設備中,其集成了圖像采集、車牌識別等功能。開發者可對該系統進行二次開發,將該系統應用到高速公路、停車場等計費系統,利用車牌信息實現對車輛信息的確認,完成自動計費,實現“一卡一車”,完善收費制度。
如圖1所示,本文設計的車牌識別系統功能結構主要包括圖像獲取模塊、車牌識別模塊和顯示模塊三個部分,各部分的工作方式如下。圖像獲取模塊通過調用Android設備的攝像頭對車牌進行拍攝,并將圖片保存至存儲模塊,以供車牌識別模塊調用識別。車牌識別模塊對車牌圖像先后進行車牌定位、字符分割、字符識別等操作,得到車牌號碼的文本信息,并將其保存至存儲模塊。顯示模塊將車牌識別模塊的識別結果顯示在Android設備用戶界面上,以供用戶使用。

圖1 系統整體結構
圖像獲取模塊通過 OpenCV提供的庫函數實現對Android設備攝像頭的調用,進行圖像采集。OpenCV是一個開源跨平臺計算機視覺庫,其全稱為Open Source Computer Vision Library。OpenCV可在Linux、Windows等操作系統上運行,OpenCV計算機視覺庫具有大量的Java接口,且API接口函數可由在線文檔獲得,并可通過Android NDK實現其庫函數在Android系統下調用。實現方法如下:通過OpenCV的庫函數cvCreateCameraCapture對Android設備的攝像頭進行調用,結合JNI接口實現本地功能代碼,由Android NDK對其進行編譯,生成可由Java調用的動態庫文件,該動態庫文件可被打包編譯,以實現車牌識別Android程序。
本文設計的車牌識別模塊的流程示意圖如圖2所示,該部分的實現主要分為以下四個部分:車牌定位,車牌字符分割、字符識別和識別結果存儲。車牌定位對采集到的圖像進行預處理,檢測車牌所在區域并進行截取,得到只包含車牌區域的圖像;字符分割對截取后圖像進行垂直投影操作得到7個投影塊,對投影塊所在區域進行分割,便可得到單個車牌字符;字符識別以車牌字符分割模塊得到的單個車牌字符為輸入,通過模板匹配實現圖像到文本信息的轉換,識別結果由程序中的存儲模塊記錄并完成存儲,供用戶進行調用。本文對車牌定位,車牌字符分割、字符識別三個部分的設計與實現進行重點介紹。

圖2 車牌識別模塊的工作流程示意圖
3.1車牌定位模塊
該模塊通過基于邊緣檢測的方法進行車牌定位,實現了車牌定位的功能。車牌定位實現過程如下:1)灰度化:對攝像頭采集圖像進行灰度化處理,將原始圖像轉換成灰度圖像,如圖3(b)所示;2)增強處理,對經過灰度化處理后的圖像進行增強處理,具體操作為對灰度化圖像先進行腐蝕處理再進行膨脹處理,即對圖像進行開運算得到灰度化圖像的背景圖像,如圖3(a)所示,并將灰度化圖像與背景圖像相減,增強灰度圖像,如圖3(c)所示;3)圖像二值化:利用經改進的多次試驗確定最佳閥值,并采取了局部自適應閾值的方法,將經過增強處理的灰度化圖像二值化;4)邊緣提取,利用Canny算子對二值化圖像進行邊緣提取,并對經過邊緣提取的圖像進行濾波抑噪等操作去除噪聲影響;5)確定車牌位置,通過掃描像素點數目確定車牌X、Y方向的起始位置;6)分割車牌區域,根據上一步得到的車牌部分X、Y方向起始位置,對原始圖像進行分割,得到車牌信息圖像。

圖3 增強處理效果圖
3.2字符分割模塊
字符分割模塊對預處理后的車牌信息圖像進行傾斜校正處理和垂直投影操作,根據字符塊確定字符的位置和寬度,對圖像進行分割,得到單個字符,具體算法如下。
1)對車牌部分圖像進行灰度化、傾斜校正、二值化及均值濾波等處理。
2)對1)得到的圖像進行垂直投影操作,得到灰度直方圖,如圖4所示,根據灰度直方圖確定字符首行與尾行位置、每個字符的左右邊界,由此得到車牌字符個數和每個字符的寬度,并根據此寬度進行字符分割,得到單個字符,分割結果如圖5所示。

圖4 垂直投影

圖5 字符分割結果
3.3字符識別模塊
字符識別模塊基于模板匹配識別方法實現圖像信息到文字信息的轉換,具體方法如下。
1)建立模板庫
我國車牌字符第一位為漢字,第二位為字母,第三位為數字和字母的組合,根據此特征建立車牌字符標準模板庫,將其分為漢字、字母、數字和字母三組。
2)模板匹配
將車牌分割后的字符分為三組,第一位為第一組,第二位為第二組,后五位為第三組。將每組中的字符與相對應模板庫中的字符模板進行遍歷匹配操作,計算待識別字符與標準模板的特征距離,該特征距離越小表示模板與待識別字符的相似度越高,通過遍歷匹配得到與待識別字符特征距離最小的標準模板,并將其保存至存儲模塊。
本文設計的應用程序基于Model-View-Controller框架,Model表示邏輯算法層,即圖像處理過程中的各種數據運算操作和數據轉換操作;View表示界面顯示層,通過Android布局文件XML實現;Controller表示控制層,其工作方式為依照界面顯示層發出的指令對邏輯算法層數據進行封裝,實現邏輯模型與用戶界面的對接。
在邏輯算法模型的設計中,本項目基于OpenCV提供的豐富的圖像處理庫函數,編寫了 Agray、Aheighten、Aim2bw、ACanny、Asmoothing等共12個核心類,來實現上述對車牌圖像定位、分割、識別等模塊的具體功能。車牌識別系統軟件UML類圖與所使用到的庫函數如圖6所示。

圖6 車牌識別系統UML核心類圖
控制層為車牌定位、分割、識別等不同功能模塊與顯示模塊間建立連接。本項目編寫各功能模塊的數據接口和客戶端登陸、退出及數據保存模塊,創建控制類以實現數據管理。將各功能模塊與圖形用戶界面的相應按鈕建立連接,從而將用戶界面的操作轉換為相應的數據處理,并根據數據處理結果對界面進行更新。
本文設計的APP主界面如圖7所示。點擊“開始識別”進入識別界面;下方兩個文件夾分別存儲車牌原始圖像和識別結果,供用戶進行查閱與核對;右上角“Help”鍵調用幫助界面。
本系統的測試實驗使用三星galaxy grand2智能手機,測試Android系統的版本為Android 4.3。測試結果如圖8所示。
本文基于Android平臺設計并實現了車輛牌照智能識別系統,該系統集成了車牌圖像定位、分割、識別等功能,實現了采集到圖片中車牌信息到文字信息的轉換,并開發了相應的應用程序,可安裝到不同硬件平臺的Android設備中,實測結果證明了該系統的準確性和實時性。后續工作將考慮開發數據庫存儲功能以及網絡連接功能,提高系統的可擴展性,滿足智能交通系統的應用場景。
[1]Tamer E,Cizmeci B.A different approach for license plate recognition system[C]//Antalya:IEEE 17th Signal Processing and Cornmunications Applications Conference,2009:357-360.
[2]陳寧寧,尹乾,周媛,等.數字圖像處理技術在智能交通中的應用[J].電子設計工程,2013,21(3):10-14.
[3]李浩,熊運余,吳志紅.基于嵌入式的新型停車場智能控制器[J].計算機工程與設計,2012,33(9):3391-3396.
[4]楚巖,邵嚴,陳亮,等.一種車牌識別軟件系統研究[J].電子設計工程,2013,21(4):149-155.
[5]楊悼硯,徐益君,張俊如.車牌識別算法的研究和實現[C]// 2009年中國高校通信類院系學術研討會論文集,2000:29-33.
[6]姜莉莉,蔣瀟,陳昕怡,等.OpenCV在車牌識別中的應用[J].軟件,2014,35(3):45-47.
[7]鄒星.一種基于模板庫的車牌字符識別算法[J].計算機技術與發展,2010,20(4):128-131.
[8]卜質瓊,鄒衛強,周運祥.基于神經網絡集成的汽車牌照識別[J].計算機工程與設計,2007,28(19):4741-4746.
[9]陳建發.停車場管理系統的設計與實現[D].福建:廈門大學,2007.
[10]雷文禮,任新成,張棟,等.基于 Android平臺的即時通信系統設計[J].現代電子技術,2015,38(3):13-15.
[11]凡威,周淵平.基于Android平臺的無線視頻監控[J].計算機系統應用,2015,24(1):195-199.
【相關參考文獻鏈接】
曹歡歡,李永忠.Android平臺下的安全檢測軟件的設計與實現[J].2015,23(12):141-144.
黃惠迪,官洪運,鄧昶,等.基于Android平臺的車道線檢測系統設計[J].2015,23(15):99-102.
高凱.基于Android手機平臺的多媒體短信系統的研究[J]. 2015,23(16):59-61.
周俊,李永忠,楊立華.基于Android平臺的藏文輸入法設計與實現[J].2015,23(16):79-81.
徐麗君.基于Android的校園移動信息門戶設計與實現[J]. 2015,23(17):43-46.
王君,趙躍華.主動防御技術在Android隱私保護中的應用[J]. 2015,23(20):79-81.
段昕,朱國魂.基于Android的跨平臺資源管理系統的研究[J]. 2015,23(21):28-31.
盛平,韓偉.基于Android平臺的視頻監控客戶端的設計與實現[J].2015,23(22):7-10.
鄭勝龍,姚錚,陳從華.基于Android的自定制CRM軟件設計[J]. 2015,23(22):125-128.
田甜,林筑英.基于云存儲的Android手機視頻監控和流量共享系統設計[J].2015,23(24):190-193.
Design and implementation of license plate recognition system based on android platform
LUAN Zhong-kai1,XU Wen-tao2,LIU Bing2
(1.College of Energy and Power Engineering,Nanjing university of Aeronautics and Astronautics,Nanjing 210016,China;2.College of Science,Nanjing university of Aeronautics and Astronautics,Nanjing 211106,China)
In order to meet the requirements of intelligent transportation system for terminal portability,a vehicle license plate recognition system was designed based on the Android platform.This system consists of an image acquisition module,a license plate recognition module and a display module.After driving the device camera to collect the license plate images,imageprocessing technology is used to analyze the collected images by preprocessing,character segmentation and template matching.Thus,the image of license plate information can be converted into text information.The system can easily be ported to various kinds of Android devices.Hence,developers are able to do secondary development based on the system.This makes it applicable to various kinds of intelligent transportation systems.The experimental results indicate that this system of license plate recognition accuracy and real-time performance can meet the general requirements of intelligent transportation applications.
intelligent transportation system;Android platform;license plate recognition
TN492
A
1674-6236(2016)09-0176-04
2015-07-07稿件編號:201507061
2015年度國家級大學生創新訓練計劃項目(201510287040)
欒眾楷(1994—),男,山東萊蕪人。研究方向:數字圖像處理。