車牌識別采購、研發(fā)縱覽_第1頁
車牌識別采購、研發(fā)縱覽_第2頁
車牌識別采購、研發(fā)縱覽_第3頁
車牌識別采購、研發(fā)縱覽_第4頁
車牌識別采購、研發(fā)縱覽_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、車牌識不采購、研發(fā)縱覽車牌識不采購、研發(fā)縱覽是目前最詳細(xì)的關(guān)于車牌識不的資料。本書分兩部分:第一編,介紹車牌識不的技術(shù)知識,包括目前我國要緊的車牌識不產(chǎn)品名單、車牌識不產(chǎn)品必備/附加的功能,以及車牌識不的應(yīng)用范圍;第二編,介紹車牌識不的研發(fā)知識,其中包括,車牌識不程序的模塊、車牌識不程序內(nèi)核模塊的各種類型以及各個子模塊的詳細(xì)算法。第一編關(guān)于寬敞車牌識不采購人員十分重要;關(guān)于寬敞車牌識不開發(fā)人員,要在熟悉了解第一編的基礎(chǔ)之上,研讀第二編。第1編 采購這是車牌識不采購、研發(fā)縱覽的前半部分,是寬敞車牌識不采購者的必讀部分。關(guān)于車牌識不研發(fā)人員來講也是有專門大的參考價值,而且對后面的開發(fā)有極大的關(guān)心。

2、第1章 車牌識不供應(yīng)商通過本章,采購人員能夠?qū)ξ覈能嚺谱R不技術(shù)水平有一個概括性的認(rèn)識;研發(fā)人員也應(yīng)該能夠了解到這一技術(shù)目前的成熟程度。第1節(jié) 車牌識不供應(yīng)商列表車牌識不并沒有統(tǒng)一的國際標(biāo)準(zhǔn)。本章僅僅列舉我國的車牌識不供應(yīng)商。(因為車牌識不市場比較熱門,下面的表格難免遺漏一些新的成員)名稱網(wǎng)址備注綠睿(推舉)高識不率,速度快SoftWell較高識不率,速度慢PlateDSP識不率較高,速度快CubicPlate普及較廣,識不率,速度差不多上中游水平SupPlate速度差不多上中游水平漢王無法拿到試用軟件車牌識不供應(yīng)商 列表第2節(jié) 車牌識不供應(yīng)商舉例綠睿科技車牌識不屬于知識密集型產(chǎn)業(yè)。研發(fā)車牌識

3、不需要大量的高級軟件人才。綠??萍脊菊且患覔碛写罅寇浖瞬诺墓尽K溆谖覈墓韫?HYPERLINK javascript:; t _self 北京中關(guān)村。“愛國,勤奮踏實,困難創(chuàng)業(yè)”是該公司的主題。綠睿公司希望能和合作伙伴一起,實現(xiàn)我國的產(chǎn)業(yè)升級和結(jié)構(gòu)性調(diào)整,提升合作伙伴產(chǎn)品的附加值。讓更多的國內(nèi)公司積極參與 HYPERLINK javascript:; t _self 世界 HYPERLINK javascript:; t _self 經(jīng)濟(jì)產(chǎn)業(yè)鏈條中,上游的競爭。綠睿科技以研發(fā)為主,而以市場推廣為輔;綠睿集中精力提高產(chǎn)品質(zhì)量,而將更多利潤讓給合作伙伴。綠睿科技全體同仁困難創(chuàng)業(yè),于2

4、009年推出車牌識不這一智能交通領(lǐng)域產(chǎn)品。綠睿擁有該產(chǎn)品的核心技術(shù)和獨(dú)立的知識產(chǎn)權(quán),而且不斷地對產(chǎn)品進(jìn)行更新?lián)Q代。有關(guān)綠睿科技更詳細(xì)的資料請登陸該公司官方網(wǎng)站:。以下是該公司的標(biāo)示:第2章 車牌識不的應(yīng)用車牌識不要緊用于智能交通領(lǐng)域。隨著計算機(jī)軟硬件的不斷升級,車牌識不所依靠的環(huán)境日臻完善,車牌識不的功能越來越豐富,應(yīng)用場合也越來越多。第1節(jié) 車牌識不應(yīng)用列表用途描述停車場治理對持用相同的RFID的車輛,檢查車牌是否相同。智能停車場對車牌識不的要求要緊集中在準(zhǔn)確度方面,對時刻要求不是專門苛刻。車輛稽查 治安卡口在都市的交通要道,架設(shè)“電子眼”,及時獵取“肇事逃逸”車輛地理信息。對車牌識不準(zhǔn)確度

5、和速度都有較高要求。另外整個系統(tǒng)應(yīng)該有強(qiáng)大的數(shù)據(jù)支持,保存 HYPERLINK javascript:; t _self 歷史資料。高速公路收費(fèi)目前專門多高速公路是“貸款筑路,收費(fèi)還鈔票”。聯(lián)網(wǎng)收費(fèi)時,需要通過車牌識不系統(tǒng)計算汽車高速公路里程。移動稽查官方為打擊走私、偷稅、違禁等的非法活動,對疑犯車輛進(jìn)行跟蹤。用車牌識不系統(tǒng)快速檢查過往車輛。地磅稱重治理用于庫存治理。交通信息采集對卡口車輛進(jìn)行統(tǒng)計,依靠車牌識不對過往車輛計數(shù)。獲得車流密度隨時刻變化的關(guān)系。路橋、隧道收費(fèi)類似高速公路,實現(xiàn)過往車輛自動收費(fèi)。同時記錄車輛過往時的照片,方便收費(fèi)系統(tǒng)核實。重要機(jī)關(guān)單位汽車出入口治理重要機(jī)關(guān)單位(比如駐

6、軍部隊)治理出入車輛。要求車牌識不系統(tǒng)能夠識不軍用車牌。闖紅燈記錄車牌識不系統(tǒng)實時接收紅燈信號,依照路口邏輯計算車道上是否同意通過車輛,對違規(guī)車輛進(jìn)行記錄,并自動提交罰單。都市交通治理配合指紋識不,人臉識不對都市交通進(jìn)行治理。比如限制超載,或者記錄車內(nèi)乘客過少(為了愛護(hù)環(huán)境,轎車內(nèi)最好有三個以上的人)情況。車牌識不應(yīng)用列表 列表第2節(jié) 車牌識不應(yīng)用舉例智能停車場智能停車場是車牌識不的典型應(yīng)用。利用智能停車場系統(tǒng)公司、企業(yè)、機(jī)關(guān)等對車輛能夠進(jìn)行方便的治理;智能停車場系統(tǒng)還有助于提高單位形象,加強(qiáng)內(nèi)部治理。智能停車場系統(tǒng)包括,RFID卡、讀卡器、道閘、感應(yīng)線圈、視頻系統(tǒng)、MIS系統(tǒng)和車牌識不模塊。

7、其中視頻系統(tǒng)包括攝像機(jī),視頻傳輸電纜,視頻顯示終端。停車場一般有多個出入口。所有出入口都配置有聯(lián)網(wǎng)的計算機(jī),組成MIS系統(tǒng),負(fù)責(zé)對車輛數(shù)據(jù)的記錄和處理。出入口同時都配置,車牌識不設(shè)備,對進(jìn)出車輛信息進(jìn)行采集工作。當(dāng)車輛進(jìn)入停車場時,司機(jī)必須刷RFID卡。智能停車場系統(tǒng)依照RFID卡信息對車輛的合法性進(jìn)行推斷,并同意合法車輛通過道閘進(jìn)入停車場。同時,智能停車場系統(tǒng)記錄車輛進(jìn)入時的視頻信息。當(dāng)車輛離開停車場時,司機(jī)也必須刷RFID卡。依照RFID卡信息,系統(tǒng)找到該車進(jìn)入停車場的時刻點;并計算停車時刻長度,提供收費(fèi)依據(jù)。為了防止不法分子的破壞,智能停車場系統(tǒng)要依照數(shù)據(jù)庫信息,進(jìn)行RFID卡信息和車牌

8、信息的比對。一旦發(fā)覺RFID卡信息和車牌信息不匹配,立即報警。因此智能停車場系統(tǒng)必須集成車牌識不模塊。第3章 配套產(chǎn)品車牌識不作為一項核心技術(shù)必須結(jié)合其他技術(shù)才能被廣泛應(yīng)用。同時資優(yōu)價廉的車牌識不軟件必定會提高相關(guān)產(chǎn)品的銷售量,其他產(chǎn)品因此實現(xiàn)高附加值。第1節(jié) 照明光源目前來講,照明光源普遍采納電光源(把電能轉(zhuǎn)換成光能)。因為車牌識不系統(tǒng)本身也消耗電能,因此車牌識不的照明光源全部采納電光源。從發(fā)光原理上講,點光源一般分為以下三大類。熱輻射光源 利用電流的熱效應(yīng)。讓光源達(dá)到三千度以上的溫度。光源便開始發(fā)出可見光。熱輻射光源通常色溫較低,比如我們平常見到黃色光源。性能優(yōu)良的車牌識不系統(tǒng)可不能受此阻

9、礙。氣體放電發(fā)光 這類光源是利用氣體在通過電流時發(fā)光的原理制成的。某些光源色彩豐富,然而并不適合車牌識不。熒光燈使用的是水銀蒸氣發(fā)光,盡管發(fā)出白光,然而光線分散,不容易投射到車牌上。也不是夜間車牌識不理想光源。半導(dǎo)體光源 在電場作用下半導(dǎo)體p-n節(jié)發(fā)光,電能利用效率高,是近年來新開發(fā)的光源類型。能夠采納高功率白色的半導(dǎo)體光源,同時也方便將光束投射到車牌上。是夜間車牌識不的理想光源。第2節(jié) 信息系統(tǒng)信息系統(tǒng),全稱為治理信息系統(tǒng)Management Information System,亦即所謂的MIS系統(tǒng)。MIS系統(tǒng)要緊指驚醒日常事務(wù)操作的系統(tǒng)。這種系統(tǒng)對各種事件的屬性進(jìn)行記錄,同時能夠輸出統(tǒng)計

10、信息。MIS系統(tǒng)的核心是CS(也確實是所謂的客戶端/服務(wù)器 client/server)結(jié)構(gòu),也有基于BS結(jié)構(gòu)的MIS系統(tǒng),然而CS的MIS系統(tǒng)足以滿足車牌的需要,因此BS的車牌識不系統(tǒng)并不多見。下圖為一電力系統(tǒng)的MIS系統(tǒng):需要指出的是,MIS系統(tǒng)和車牌識不同為軟件。在整個車牌識不系統(tǒng)中互相配合工作。一般來講,MIS系統(tǒng)理論較為成熟,開發(fā)難度不大;而車牌系統(tǒng)理論并沒有完全成熟,開發(fā)難度極大。然而MIS系統(tǒng)必須針對單個項目單獨(dú)開發(fā),不容易復(fù)制。這就大大提高了MIS系統(tǒng)本身的成本,通常情況下MIS系統(tǒng)要比車牌識不核心模塊報價高。因為車牌識不軟件較容易復(fù)制,從而分擔(dān)成本。第3節(jié) 相機(jī)車牌識不只能用

11、數(shù)碼相機(jī),不能夠使用傳統(tǒng)的模擬相機(jī)。數(shù)碼相機(jī)利用感光電子元件把光學(xué)信號轉(zhuǎn)換成數(shù)字圖像信號。感光元件有兩種CCD和CMOS。CCD相機(jī)質(zhì)優(yōu)價高,對車牌識不來講沒有必要。假如是關(guān)于一般的車牌識不系統(tǒng),CMOS相機(jī)足以滿足要求。相機(jī)種類專門多,具體到車牌識不相機(jī)也有專門多種。那個地點列舉一下適合車牌識不使用的相機(jī)。工業(yè)相機(jī):性能較好,它速度快,清晰度高。有的借助圖像采集卡能夠得到更好的效果。適合條件比較惡劣的環(huán)境。監(jiān)視攝像頭:這是目前普及最廣的用于車牌識不的相機(jī)。產(chǎn)品技術(shù)都比較成熟。架設(shè)車牌識不系統(tǒng)時完全能夠利用一有的監(jiān)視系統(tǒng)。對原有系統(tǒng)進(jìn)行升級。QQ攝像頭:依照摩爾定律,電子產(chǎn)品QQ攝像頭的性能不

12、斷提高,價格不斷下降。目前的QQ攝像頭性能差不多達(dá)到或者超過一般監(jiān)視攝像頭的性能水平;而價格十分廉價。今后可能成為車牌識不相機(jī)的首選。第4節(jié) 視頻傳輸視頻傳輸設(shè)備要緊分為模擬傳輸和數(shù)字傳輸兩種形式。盡管數(shù)字傳輸方式具有專門多優(yōu)點。然而模擬技術(shù)比較成熟,產(chǎn)品種類多,因此模擬傳輸也比較普及。模擬視頻信號,到達(dá)計算機(jī)前轉(zhuǎn)換成數(shù)字信號即可進(jìn)行車牌識不。數(shù)字信號普遍采納以太網(wǎng)傳輸,使用超五類線。其傳輸速率高大1000兆,傳輸距離遠(yuǎn)達(dá)100米完全能夠滿足車牌識不的需要。數(shù)字視頻信號通過壓縮后,能夠節(jié)約帶寬,只是這對相機(jī)有一定的要求。目前車牌識不系統(tǒng)中的視頻信號專門少壓縮。另外在專門場合下,并不需要傳輸視頻

13、,而僅僅需要傳輸單幀圖像即可。比如交通路口,闖紅燈的汽車觸發(fā)相機(jī)拍照,相機(jī)僅把這時抓拍的 HYPERLINK javascript:; t _self 圖片傳至計算機(jī)即可,大大節(jié)約了帶寬。同時如此方法也適合停車場。第5節(jié) RFIDRFID的英文全稱是Radio Frequency Identification。中文名稱:射頻識不、射頻標(biāo)示,俗稱電子標(biāo)簽。RFID最大的特點確實是非接觸式自動識不。這一過程是通過射頻信號完成的。當(dāng)RFID卡進(jìn)入讀卡器識不范圍時,讀卡器會發(fā)出射頻信號。這時RFID卡就會感應(yīng)出電流,RFID芯片利用感應(yīng)出的電流提供能量,也發(fā)出射頻信號,那個信號加載有標(biāo)示信息。讀卡器捕

14、獲到RFID卡發(fā)出的射頻信號,即可得到RFID卡的ID值。RFID被廣泛應(yīng)用于停車場和高速路收費(fèi)系統(tǒng)中。為了更加安全的使用RFID,經(jīng)常需要把RFID卡的ID值和汽車車牌號綁定起來。這就需要整個系統(tǒng)中集成車牌識不模塊。第4章 軟件接口車牌識不做為一個軟件模塊,需要提供軟件接口,才能夠被整合到整個車牌識不系統(tǒng)中,正常工作。車牌識不適合何種軟件接口,下面將一一介紹:第1節(jié) DLLDLL的全稱是Dynamic Linkable Library,中文名稱是動態(tài)鏈接庫。他不能單獨(dú)的運(yùn)行,需要其它程序加載。DLL最大的優(yōu)點是應(yīng)用程序共享代碼和其他只讀資源,有效地節(jié)約系統(tǒng)開支。更為重要的是DLL迎合了程序的

15、模塊思想。所謂的模塊確實是一個功能相對完整的軟件“零件”。一臺機(jī)器的零部件可能來自于不同的生產(chǎn)廠家;同樣的道理,車牌識不應(yīng)用系統(tǒng)中,車牌識不模塊能夠由其它廠家提供。車牌識不系統(tǒng)中,相機(jī)驅(qū)動程序本質(zhì)上也是一個動態(tài)連接庫。除了windows系統(tǒng)外,linux系統(tǒng)也有類似的思想,只是叫做elf。其中的字母l標(biāo)示連接的意思。同樣地,車牌識不的動態(tài)庫也能夠提供linux的版本。第2節(jié) ActiveXActiveX的本質(zhì)也是上一節(jié)中提到的動態(tài)鏈接庫。只是ActiveX的接口更為方便。AcitveX由開發(fā)人員事先打包,能夠方便的嵌入包括掃瞄器的各種軟件之中。專門多語言包括Java都支持ActiveX控件。A

16、ctiveX沒有專門好的跨平臺性,目前僅僅能在windows上運(yùn)行。盡管如此,然而考慮車牌系統(tǒng)目前也差不多上在windows系列操作系統(tǒng)上運(yùn)行,因此車牌識不模塊封裝成ActiveX控件的優(yōu)越性也可不能打折扣。另外網(wǎng)頁上的ActiveX有一定的安全問題,然而這并可不能阻礙到車牌識不系統(tǒng)的安全性。第3節(jié) COM和ActiveX控件一樣,COM的本質(zhì)也是動態(tài)鏈接庫,COM也是有一種共享代碼的方法。有了COM,軟件工程就能夠像是搭積木一樣進(jìn)行,甚至一般人都能夠編程序。對COM的調(diào)用者來講,他們看到的每個COM是一個類,類有接口。類和接口差不多上用GUID標(biāo)示的。那個地點的GUID本質(zhì)上是一個全球唯一的

17、數(shù),任何編程語言都能夠處理。然而目前車牌識不模塊,提供COM借口得并不是專門多。緣故在于COM技術(shù)差不多過時,微軟差不多放棄了對COM的維護(hù)工作。COM也不如ActiveX控件來得方便。COM同樣也只能用到Windows系列操作系統(tǒng)上。第5章 觸發(fā)車牌識不系統(tǒng),最簡單的流程是系統(tǒng)從相機(jī)取出圖像,然后進(jìn)行識不。假如相機(jī)視野內(nèi)有車牌,那么系統(tǒng)記錄當(dāng)前的圖像和車牌號。假如視野內(nèi)沒有車牌,則要丟棄當(dāng)前的圖像。然而假如計算機(jī)對圖像處理較慢,那么當(dāng)計算機(jī)正處理當(dāng)前圖像的時候,下一幅圖像差不多預(yù)備好了。如此的話,計算機(jī)就無法響應(yīng)用戶的操作。用戶就會感受計算機(jī)較慢,或者死機(jī)。解決的方法確實是利用“觸發(fā)技術(shù)”。

18、第1節(jié) 視頻觸發(fā)本章一開始提到的車牌系統(tǒng)的最簡單的流程,確實是視頻觸發(fā)。依照視頻信號,假如相機(jī)視野內(nèi)有車牌,整個系統(tǒng)啟動一個操作。假如相機(jī)視野內(nèi)沒有車牌,整個系統(tǒng)處于休眠狀態(tài)。假如車牌識不模塊的運(yùn)算速度較快,視頻觸發(fā)一般沒有大的問題。然而較快的速度,勢必阻礙識不率。低識不率是視頻觸發(fā)固有的缺點,盡管隨著硬件速度的提高,那個缺點變得越來越小。為了彌補(bǔ)視頻觸發(fā)的不足,人們引入了“線圈觸發(fā)”的概念。第2節(jié) 線圈觸發(fā)當(dāng)有汽車功過道閘的時候,汽車會觸發(fā)感應(yīng)線圈。接下來,感應(yīng)線圈觸發(fā)相機(jī)拍照。然后圖片傳送到計算機(jī),計算機(jī)對圖像進(jìn)行識不。最后系統(tǒng)記錄識不信息和圖像信息。在沒有圖像到來的時候,整個系統(tǒng)處于休眠

19、狀態(tài)。計算機(jī)也沒有必要識不車牌,那個時候計算機(jī)的任務(wù)較少,能夠?qū)iT好的響應(yīng)用戶操作。對車牌識不軟件來講,識不時刻限制被大大放寬。能夠更為準(zhǔn)確的定位識不車牌。因此一般線圈觸發(fā)的系統(tǒng),車牌識不率都專門高。線圈觸發(fā)被廣泛應(yīng)用于停車場和交通路口環(huán)境中。在施工過程中,線圈的鋪設(shè)可能會有一定的額外工作量。相關(guān)于視頻觸發(fā)的系統(tǒng),這一工作顯然是多余的。這是線圈觸發(fā)系統(tǒng)的一個缺點。第3節(jié) RFID觸發(fā)當(dāng)汽車通過道閘的時候,用戶需要主動刷RFID卡。刷卡機(jī)讀取用戶RFID卡信息后,觸發(fā)相機(jī)拍照。接下來,照片被傳送到計算機(jī),進(jìn)行車牌識不操作。這便是RFID觸發(fā)的工作流程。顯然,這種觸發(fā)方式擁有和線圈觸發(fā)相同的識不率

20、。但卻無法應(yīng)用于交通路口。RFID卡觸發(fā)實際上受到RFID卡普及程度的限制。也有上述多種觸發(fā)技術(shù)結(jié)合的方案。比如視頻觸發(fā)和線圈觸發(fā)相結(jié)合,如此既能滿足系統(tǒng)在無法埋設(shè)感應(yīng)線圈場合下的應(yīng)用,又能在有感應(yīng)線圈的環(huán)境中提高識不率。第6章 車牌識不必備功能第1節(jié) 基礎(chǔ)功能車牌定位車牌定位是車牌識不的基礎(chǔ)。也是車牌識只是程中最重要的部分。車牌定位的成功率直接決定車牌識不率。當(dāng)光線環(huán)境比較好、分辨率較大的時候,車牌定位比較容易;然而假如光線環(huán)境不行,分辨率較低,車牌定位就比較困難。另外還有專門多因素阻礙車牌定位的成功率,比如圖像因 HYPERLINK javascript:; t _self 觀看角度造成的

21、旋轉(zhuǎn)、拉伸和斜切;再比如車牌遭到污染。上述情況都會阻礙車牌成功定位。假如增加車牌定位的容忍值,盡管會提高車牌定位的成功率,然而會出現(xiàn)錯誤定位的情況:把背景圖像的一部分,當(dāng)作車牌。當(dāng)圖像內(nèi)沒有車牌時,質(zhì)量不行的車牌識不軟件比較容易出現(xiàn)這種錯誤。字符識不字符識不功能包括識不漢字、英文字母和阿拉伯?dāng)?shù)字。漢字的范圍一般來講僅僅包括省、自治區(qū)和直轄市的簡稱。在所有的英文字母中,I和O,分不不容易和1和0區(qū)分。然而字母I和O能夠做為發(fā)證機(jī)關(guān)代號,在車牌中出現(xiàn),因為發(fā)證機(jī)關(guān)代號不能夠取數(shù)字1和0。0和D或者Q無法區(qū)分是字符識不經(jīng)常出現(xiàn)的錯誤。8和B關(guān)于質(zhì)量較差的車牌識不軟件成功區(qū)分的概率也專門小。在同一地區(qū)

22、,大部分車牌的省、自治區(qū)和直轄市的簡稱差不多上相同的,因此相關(guān)于字母數(shù)字的識不率,漢字的識不率不是專門重要,另一方面漢字識不技術(shù)也不是專門成熟;有的車牌識不軟件干脆沒有漢字識不功能。第2節(jié) 拓展功能多車牌識不在同一副圖像中有兩個或者兩個以上的車牌。多車牌識不軟件能夠?qū)@些車牌全部成功識不。相對地,有些車牌識不軟件只能對其中之一進(jìn)行定位識不,有的是依照車牌距離中心點的距離選擇,有的依照車牌在圖像中的大小選擇,有的甚至是隨機(jī)選擇。車牌精確定位在環(huán)境比較好的情況下,有時車牌識不軟件無法正確識不字符。緣故在于車牌本身受到一些干擾,其中包括固定螺絲和車牌邊框。關(guān)于藍(lán)色車牌,較新的固定螺絲會反射光線;在圖

23、像中,螺絲呈現(xiàn)白色和字符顏色相近,干擾正常的識不程序。關(guān)于黃色車牌,比較舊的螺絲,或者懸空的螺絲孔,同樣也會干擾正常的識不。標(biāo)準(zhǔn)尺寸的車牌,車牌邊框可不能對車牌識不進(jìn)行干擾。然而實際上,車牌并不差不多上按統(tǒng)一的標(biāo)準(zhǔn)制作的。有些車牌把邊框向有文字的方向移動,騰出的空間用于標(biāo)示汽車的品牌。然而這些非標(biāo)準(zhǔn)尺寸的車牌卻給車牌定位帶來了一定的干擾。因此質(zhì)量好的車牌識不軟件,要對車牌進(jìn)行精確定位,排除各種干擾。國家標(biāo)準(zhǔn)車牌識不依據(jù)的是GA36-2007中華人民共和國機(jī)動車號牌,互聯(lián)網(wǎng)上有可供下載的pdf版本。第2編 研發(fā)以下部分為車牌識不研發(fā)人員參考資料。第1章 開發(fā)環(huán)境車牌識不實質(zhì)上包括兩部分的內(nèi)容,一

24、是車牌定位,二是字符識不。車牌定位要緊的工作是圖像處理。目前來講圖像處理的開發(fā)軟件環(huán)境局限于c/c+。因為c/c+效率高,執(zhí)行速度快。字符識不要緊是人工智能。人工智能的開發(fā)環(huán)境較多,然而都不成熟。其中Prolog是目前比較好的人工智能語言之一。當(dāng)考慮到統(tǒng)一開發(fā)環(huán)境時,一般字符識不也使用c/c+。車牌識不硬件環(huán)境的選擇比較豐富。除了選擇主流的Intel和Amd的機(jī)器,高性能AMR機(jī)的也是比較好的選項。假如要嵌入到相機(jī)之中,AMR機(jī)是最好的選擇。第1節(jié) 軟件環(huán)境c c+的開發(fā)環(huán)境c/c+語言是一種中級語言,它既有高級語言的簡單性,又有和低級語言的相近的高效率。c/c+語言的高級語言特性,使得其描述

25、車牌識不中比較復(fù)雜的邏輯較為方便。而其低級語言的特性,使得用c/c+語言開發(fā)的車牌識不程序執(zhí)行速度快,內(nèi)存開銷小。c/c+語言也十分容易移植,車牌識不的核心程序,在Windows系列操作系統(tǒng)上調(diào)試通過后,專門容易移植到Linux系列操作系統(tǒng)上,而Linux系列操作系統(tǒng)也能夠是在Arm機(jī)上運(yùn)行的。c是面向結(jié)構(gòu)的,c+是面向?qū)ο蟮?。這使得c/c+方便描述復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和算法。適合車牌識不中的字符識不操作。c/c+語言的資料豐富,技術(shù)成熟。網(wǎng)上圖像處理方面的程序較多是用c/c+編寫,專門容易把它們放到自我開的車牌識不程序中去。c/c+開發(fā)環(huán)境也比較好,vc支持可視化編程,調(diào)試時變量跟蹤異常方便,將c

26、/c+不穩(wěn)定性降到最低。最為重要的是多數(shù)車牌識不程序差不多上基于c/c+的。人工智能語言PrologProlog是目前為止中為重要的人工智能語言之一。他的語法中含有謂詞,跟自然語言極為相似。使用Prolog描述完規(guī)則和事實后,Prolog內(nèi)部進(jìn)行演繹推理,自動給出結(jié)果;無需程序員關(guān)懷內(nèi)部操作。如此能夠就大大加速了車牌識不的研發(fā)進(jìn)程。Prolog中的事實,用來描述對象和對象之間的關(guān)系。事實由謂詞和對象組成。比如 Close(current_character,2). 表示當(dāng)前識不的字符有兩個封閉區(qū)域(車牌識不中“B”和“8”中的情況)。Prolog中的規(guī)則由多個相關(guān)的簡單句子組成。規(guī)則中結(jié)論放在

27、前面,條件放在后面。例如:Q(character):-Anisomerous(character),Close(character,1). 表示假如字符只有一個封閉區(qū)域,而其不對稱的話,那么那個字符是“Q”。Prolog中的目標(biāo)能夠在事實和規(guī)則提交之后自動得到。Prolog擁有和c語言的接口,Prolog能夠融入c/c+的工程中。方便將整個車牌程序整合在一起。Matlab使用Matlab開發(fā)車牌識不比較快,然而最后發(fā)行軟件的時候不容易脫離開Malab的環(huán)境。能夠用Matlab研究車牌識不算法,然而開發(fā)車牌識不Malab并不是首選。第2節(jié) 硬件環(huán)境英特爾奔騰及其兼容機(jī)因為車牌識不需要大量的并行計

28、算,因此多核的CPU,占優(yōu)勢。假如不是通過系統(tǒng),而是車牌識不軟件本身分配給各個核心任務(wù),效率會更高。設(shè)計較好的車牌識不系統(tǒng)占用內(nèi)存并不大,只有幾兆。目前CPU Cache完全能夠滿足要求,整個識只是程,CPU不需要跟內(nèi)存通信。超線程技術(shù)也有助于車牌識不速度的提高。因為車牌識不程序并行計算的計算量較大,超線程技術(shù)也是針對有大量并行計算的軟件設(shè)計的。英特爾和AMD,都推出了64位的CPU,這一點對車牌識不可能并沒有多大的關(guān)心。浮點計算對車牌識不軟件的意義不大,因為浮點計算比較慢,設(shè)計良好的車牌識不軟件,盡量使用整型運(yùn)算。從環(huán)保角度動身,CPU的功率越小越好。arm機(jī)Arm機(jī)是典型的精簡指令系統(tǒng)。執(zhí)

29、行速度快,也是車牌識不的一個不錯的硬件環(huán)境。按性價比計算Arm機(jī)要比奔騰機(jī)好。假如算上周邊芯片組成計算機(jī)系統(tǒng),Arm機(jī)更占據(jù)成本優(yōu)勢。Arm機(jī)基于Linux操作系統(tǒng),車牌識不產(chǎn)品可不能包含Windows的版本費(fèi)用。Windows下面也有良好的Arm機(jī)調(diào)試環(huán)境。更能夠移植差不多在Windows環(huán)境下調(diào)試成功的軟件。同樣地,64位的Arm機(jī)對車牌識不軟件沒有專門大的關(guān)心。Arm機(jī)市面上較少,不容易購買,這是其一大缺點。第2章 整體結(jié)構(gòu)第1節(jié) 整體結(jié)構(gòu)分類是否回溯舉例來講,依照車牌的特征在整個圖片中定位車牌的時候,假如車牌在圖像中受到了環(huán)境的干擾,可能無法找到圖片。為了解決那個問題,引用了回溯算法:

30、當(dāng)無法定位車牌的時候,增加對車牌錯誤的容忍程度,從新去查找車牌。有無回溯算法,對車牌識不的性能阻礙重大。無回溯算法的車牌識不軟件速度快,然而定位成功率不高。適合視頻觸發(fā)的應(yīng)用。有回溯算法的車牌識不軟件定位成功率高,然而速度較慢。有時在成功定位車牌后,通過字符識不,發(fā)覺字符識不率較低,重新定位車牌。如此速度便會更慢。有回溯算法的車牌識不軟件一般應(yīng)用于有觸發(fā)線圈的場合。試探和計算車牌識不中的定位操作,首先有一個推斷某一區(qū)域是不是車牌的標(biāo)準(zhǔn),然后對所有可能的區(qū)域依次依照那個標(biāo)準(zhǔn)推斷。算法完成時,符合標(biāo)準(zhǔn)的區(qū)域便是車牌的位置。這是最原始的思路。那個算法在時刻上并不占優(yōu)勢,然而這是車牌定位的基礎(chǔ),改進(jìn)后

31、的程序仍然沿用那個算法的絕大多數(shù)的函數(shù)。上述算法,對所有的區(qū)域進(jìn)行試探。在試探之前沒有做計算,推斷有沒有必要對當(dāng)前區(qū)域和標(biāo)準(zhǔn)進(jìn)行比較。另外一種算法確實是“暴力”算法的改進(jìn)形式。盡量幸免沒有必要的試探?;蛘咭勒詹畈欢嘣囂绞〉慕Y(jié)果,去否定某一個較大區(qū)域試探的必要性。開發(fā)流程實際上車牌識不代碼量并不是專門大,假如不停的手工輸入;用不到一天的時刻,即可大功告成。然而程序需要反復(fù)調(diào)試,才能夠走向成熟。因此工作量是專門大的。另外車牌識不還有其本身的特點理論并不成熟。這就給車牌識不帶來了更多的工作量。一般來講,開發(fā)車牌識不程序,先按照最原始最樸素的思想編碼,然后是不斷地優(yōu)化。這將貫徹到整個車牌識不的開發(fā)過

32、程中去。第2節(jié) 必備模塊車牌識不最差不多的流程是:將采集后的圖像二值化,然后依次通過車牌定位、字符分割、去除干擾,最后是字符識不。有時還會加入本節(jié)前面部分所敘述的思想(比如回溯)。下面將分五章具體介紹每一個模塊。第3章 二值化二值化是車牌識不的第一步。二值化前后的對比如圖:二值化的算法專門簡單,首先有一個亮度的閾值(threshold),對每一個像素的亮度和那個閾值做比較,依照比較結(jié)果得出車牌的前景和背景。用c/c+描述如下:voidCLPR:Binary(intthreshold)inty;for(y=0;ym_height;y+) intx;for(x=0;xm_width;x+) uns

33、ignedcharred,green,blue; GetPixel(red,green,blue,x,y);intbright; bright=red+green;if(m_search_blue_plate) if(bright=threshold) SetBinary(x,y,FOREGOUND);elseSetBinary(x,y,BACKGROUND); 二值化算法盡管簡單,然而閾值卻不容易查找。本章后面的部分,將重點介紹各種求解閾值的算法。第1節(jié) OTSUOTSU算法的思想是:把輸入圖像首先轉(zhuǎn)換成灰度圖象,然后對圖像進(jìn)行直方圖分析。假如直方圖呈雙峰分布。那么雙峰之間的“谷”確實是閾值

34、。從統(tǒng)計學(xué)角度講,閾值兩邊的距離最大。由于車牌識不的專門性,圖象象素點的亮度為該象素點的紅色重量和綠色重量的和,同時忽略藍(lán)色重量。這一點對藍(lán)色車牌和黃色車牌差不多上適用的。OTSU算法僅對直方圖呈雙峰分布的圖像有效。全部代碼如下:voidLPR:OTSU() /直方圖統(tǒng)計 intindex;for(index=0;indexm_bright_level_count;index+) m_pixel_numberindex=0; inty;for(y=0;y=m_height;y+) intx;for(x=0;x=m_width;x+) intbright; bright=Bright(x,y);

35、 m_pixel_numberbright+; /真正求閾值doublesum; sum=0;intn; n=0;intk;for(k=0;k=(m_bright_level_count-1);k+) sum+=k*m_pixel_numberk; n+=m_pixel_numberk; doublec_sum; c_sum=0.0;doublef_max; f_max=-1.0;intn1; n1=0;for(k=0;k(m_bright_level_count-1);k+) n1+=m_pixel_numberk;if(n1=0) continue;intn2; n2=n-n1;if(n2

36、=0)break; c_sum+=(double)k*m_pixel_numberk;doublem_1,m_2; m_1=c_sum/n1; m_2=(sum-c_sum)/n2;doublesb; sb=(m_1-m_2)*(m_1-m_2)*(double)n1*(double)n2;if(f_maxsb) f_max=sb; m_prepare_threhold=(int)(k+0.5); 第2節(jié) Matlab算法使用Matlab進(jìn)行車牌識不,也是一個比較好的選擇。在Matlab的環(huán)境中首先把輸入的彩色圖像使用命令rgb2gray轉(zhuǎn)換成灰度圖像。有了灰度圖像就能夠使用命令graythr

37、esh獲得閾值了。最后使用命令im2bw對圖像進(jìn)行二值化。十分方便!代碼如下:I=imread(blood1.tif);imhist(I);% 人工觀看灰度直方圖,發(fā)覺灰度120處有谷,確定閾值T=120I1=im2bw(I,120/255);% im2bw函數(shù)需要將灰度值轉(zhuǎn)換到0,1范圍內(nèi)figure,imshow(I1);改進(jìn)為I=imread(blood1.tif);imhist(I);I1=graythresh(I);% im2bw函數(shù)需要將灰度值轉(zhuǎn)換到0,1范圍內(nèi)figure,imshow(I1);第4章 車牌定位圖像二值化,占用車牌識不中的大部分時刻。在二值化之后,車牌識不將變得比

38、較容易。車牌定位為二值化后的第一步。下面分小節(jié)分不介紹各種車牌定位算法。第1節(jié) 角點定位方法車牌識只是程中,角點定位的差不多思想是:在所有的邊界點中,假如某些點的曲率半徑比較小,那么這些點叫做“角點”:如下圖所示(角點用紅點表示):圖中字符上和車牌的四角都有角點。然而這并不阻礙車牌的定位。依照距離最大的四個角點,得到了車牌的四個角,從而定了車牌。從角點定位的原理看出,假如通過旋轉(zhuǎn)后車牌并可不能阻礙角點定位的成功率和速度。該算法的實現(xiàn)能夠采取遍歷匹配的算法,實現(xiàn)如下:voidLPR:GetConere()inty;for(y=0;ym_height;y+) intx;for(x=0;x=3) i

39、f(Line(x,y,x,y+4)=3) if(Line(x+1,y+1,x+4,y+4)=3) if(Line(x+1,y-1,x+4,y-4)=3) if(Line(x,y,x,y+4)=3) if(Line(x-1,y+1,x-4,y+4)=3) if(Line(x-1,y-1,x-4,y-4)=1) Add(x,y,RIGHT_DOWN_CONNER); 函數(shù)Line(x1,y1,x2,y2)返回過兩點(x1,y1),(x2,y2)的直線,前景的象素個數(shù)。注意那個地點的4,是檢驗角點的區(qū)域范圍,假如區(qū)域過大,圖像旋轉(zhuǎn)時就會阻礙車牌定位的成功率。第2節(jié) 上下定位方法認(rèn)真觀看二值化后的圖像

40、,在車牌的上邊和下邊各有一條較長的背景線(上圖用紅線表示)。依照這兩條背景線能夠準(zhǔn)確的定位車牌。定位算法如下:intLPR:HorizontalLine(intx,inty,intcount)intret; ret=0;intx_loop;for(x_loop=0;x_loopcount;x_loop+)if(!IsForegournd(x+x_loop,y) ret+;returnret;IsForegournd(x,y)為詢問點(x,y)是不是前景點的函數(shù)。該算法比角點定位算法要快,然而不適合通過旋轉(zhuǎn)后的車牌。盡管通過改進(jìn)后也能夠識不出旋轉(zhuǎn)后的車牌,然而速度專門慢,不能出現(xiàn)在成熟的產(chǎn)品中。

41、第3節(jié) 變化率定位法圖中有三條直線,假如沿著這三條直線掃描的話,會發(fā)覺:黑色的掃描線前景占專門大的比例,綠色的掃描線背景占專門大的比例;紅色的掃描線前景背景比例都不突出,然而前景背景交替較為頻繁。這講明依照前景背景變化率能夠定位車牌。這種算法能夠有效防止車牌旋轉(zhuǎn)的干擾。獲得變化率的代碼如下:doubleCLPR:ScanLine(intx,inty,intcount)boolcurrent_foreground; current_foreground=IsForeground(x,y);intchange_times; change_times=0;intloop;for(loop=1;loo

42、pcount;loop+) if(current_foreground) if(!IsForeground(x+loop,y) change_times+; current_foreground=false; elseif(IsForeground(x+loop,y) change_times+; current_foreground=true; doubleret; ret=change_times; ret/=(count+1);/do not div 0returnret;第5章 字符分割在車牌識只是程中,車牌定位后的工作便是分割字符。本章將分若干節(jié)介紹字符分割的算法。第1節(jié) 連續(xù)點分割

43、法關(guān)于一個數(shù)字或者字母,前景的點是連續(xù)的。用填充算法對種子點填充即可得到整個字符。因此漢字就不是了,因此這種分割算法僅僅適合數(shù)字或者字母。然而當(dāng)整個車牌的數(shù)字和字母都得到之后,剩下的那個必定是漢字。那個思想用c/c+描述如下:voidLPR:Scan()inty;for(y=m_plate_top;y=m_plate_bottom;y+) intx;for(x=m_plate_left;x=0;left_x-)if(!IsForeGround(left_x,y)|IsVisited(left_x,y)break; left_x+;for(x=left_x;x=m_width) right_x=

44、m_width-1; left_x-;if(left_x0) left_x=0;intdown_y; down_y=y+1;if(down_ym_height) for(x=left_x;x=0) for(x=left_x;x=right_x;x+) if(IsForeGround(x,up_y)&!IsVisited(left_x,y) stackstack_length0=x; stackstack_length1=up_y; stack_length+; delete (int*)stack;盡管掃描線種子填充算法,比差不多的種子填充算法復(fù)雜一些,然而在車牌識不測試后發(fā)覺,掃描線種子填充

45、算法比種子填充算法要快三分之一左右。第2節(jié) 邊界法邊界法和連續(xù)點分割法專門相似,只只是連續(xù)的邊界點,而不是所有的前景點。邊界法需要事先得到前景像素中的邊界點,這可能會花費(fèi)一些時刻。然而如此會加速得到連續(xù)點的遞歸操作。邊界點如下圖:得到邊界點的算法如下:voidCLPR:GetEdge()inty;for(y=0;ym_height;y+) intx;for(x=0;xm_width;x+) if(IsForeground(x,y) if(!IsForeground(x-1,y) SetEdge(x,y);elseif(!IsForeground(x+1,y) SetEdge(x,y);else

46、if(!IsForeground(x,y-1) SetEdge(x,y);elseif(!IsForeground(x,y+1) SetEdge(x,y); 連接邊界點的算法和連接前景點的算法完全相同。第3節(jié) 依照尺寸分割從理論上講,圖片和實物相比,尺寸上有了專門大的變化。并不一定圖片和實物幾何意義上的相似。也確實是講未必圖像和實物成比例。然而實驗證實,在一到兩個像素范圍內(nèi),在水平方向上,實物和圖像差不多上成比例。那個是來自于GA36-2007中華人民共和國機(jī)動車號牌的車牌尺寸講明。依照這幅圖片,我們能夠在一定位的車牌上,找到各個字符的坐標(biāo)。請看下面的代碼:voidGetCharacterPo

47、sition(intcharacter_position7,intplate_left,intplate_right) static constintmm= 3+45/2, character_position_mm0+12+45, character_position_mm1+12+10+12+45, character_position_mm2+12+45, character_position_mm3+12+45, character_position_mm4+12+45, character_position_mm5+12+45, character_position_mm6+45/2

48、+1, ;intindex;for(index=0;indexsizeof(mm)/sizeof(mm)-1;index+) character_positionindex=plate_left+(-plate_left+plate_right)*mmindex/mmsizeof(mm)/sizeof(mm0)-1;上面的代碼技巧性專門大,需要讀者認(rèn)真揣摩。第6章 去除干擾干擾車牌識不的因素專門多。比如車牌旋轉(zhuǎn)、污染、固定螺絲和車牌邊框等等。下面分小節(jié)分不介紹去除各種干擾的方法。第1節(jié) 去除噪音去除噪音的原理是:每一個字符,差不多上專門大的一個連續(xù)塊,然而噪音確是比較小的多個連續(xù)塊。通過遞歸算

49、法得到每個字符中各個塊的大小,保留最大的塊,其余塊當(dāng)作噪音刪掉。算法專門簡單,那個地點不再列出代碼。第2節(jié) 去除螺絲干擾去除螺絲的工作要和字符本身的特征聯(lián)系在一起。對不同的字符、相同字符不同部位的螺絲,都要分不編碼。工作量專門大。下面分小節(jié)舉幾個例子:0986等左上方螺絲這種情況如下圖所示:在比較圓的9的上部出現(xiàn)了一個螺絲,比較明顯。能夠刪掉,代碼如下:voidCLPR:DeleteLeftUpSmallScrewCharacterRound()boolpossible_screw;intpossible_screw_start;intpossible_screw_end;if(m_chara

50、cter_index=5) possible_screw=false; intseek;for(seek=0;seek=m_delta_x/2) possible_screw=true;break; intdelta_x;if(possible_screw) possible_screw=false;for(possible_screw_end=possible_screw_start+1;possible_screw_endm_delta_x/2) continue;intright;if(!ExpandHorizontal(right,possible_screw_end,possible

51、_screw_end,m_max_x,SUB) continue;if(rightdelta_x/2) continue;if(possible_screw_end+4m_center_y) continue;intdistance1; distance1=HorizontalDistance(possible_screw_end,possible_screw_end);intdistance2; distance2=HorizontalDistance(possible_screw_end+2,possible_screw_end+2);intdistance3; distance3=Hor

52、izontalDistance(possible_screw_end+4,possible_screw_end+4);if(!(distance1=distance2&distance2=distance3&distance10) continue;if(distance3delta_x*3/4) continue;intseek;for(seek=2;seek=m_delta_x/2) possible_screw=false; if(possible_screw) boolknown_letter; known_letter=false;if(!known_letter) m_min_y=

53、possible_screw_end; RecognizeCharacterAdjustVertical(); 以上代碼拷貝自綠睿車牌識不工程,實際上是比較舊的版本。讀者能夠進(jìn)行修改,并放入自己工程中。EFT5等右上方螺絲這種情況如下圖所示:在比較平的5的上部出現(xiàn)了一個螺絲,十分明顯。刪掉螺絲的代碼如下:voidCLPR:RightUpSmallSideScrewCharacterWide()if(!(m_character_index=1|m_character_index=4)return;intpossible_screw_start; possible_screw_start=Reco

54、gnizeCharacterLocateVeritcalRightUpSmallSideScrewGetStart();if(possible_screw_start=-1)return;boolpossible_screw;intpossible_screw_end; possible_screw=false;intdelta_x;for(possible_screw_end=possible_screw_start+1;possible_screw_enddelta_x*0.63) intseek;for(seek=1;seek=delta_x/2) possible_screw=true;break; if(possible_screw)break; if(!possible_screw)return; inty; y=possible_screw_end-1;intleft;if(ExpandHorizontal(left,y,y,m_min_x,ADD) if(leftdelta_x*0.25)return; if(possible_screw

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論