版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于ARM的車牌識別技術(shù)研究與實前困擾。在這種情況下,智能交通系統(tǒng)ITS(InterlliengtTransportationSystem)孕育而生。它是解決各種交通問題的主要之一,在交通中起著重要的作用。。車輛牌照是車輛的,在交通系統(tǒng)中有著不可替代的作用系。根文件系統(tǒng);通過頭捕獲車牌圖像;通過網(wǎng)頁進行交互。OpneCV(OpenSourceComputerVisionLibrary)編程;了解支持向量機和神經(jīng)網(wǎng)絡(luò)的原理;熟悉ARM處理器引導啟制,Linux系統(tǒng)內(nèi)核啟制和文件系統(tǒng)掛載機制;熟悉TCP/IP協(xié)議;熟悉Linux驅(qū)動編程;熟悉CGI(CommonGatewayInterface)編程。從20世紀80年代起,、、澳大利亞、法國、意大利、英國、韓國以及我國都車輛牌照自動識別技術(shù)的研究。目前,國外已開發(fā)出不少成熟產(chǎn)品,如德克薩斯儀器公司的TIRISAVI系統(tǒng),以色列Hi_Tech公司的See/CarSystemOptasia公司的LPRS系統(tǒng)等。我國在90年始了車輛牌照自動識別技術(shù)的研究。目前比較成產(chǎn)品有漢王公司的“漢王眼,杭州??低?、信路威等車輛牌照識別產(chǎn)品。這些產(chǎn)品基車輛牌照識別系統(tǒng)是推進交通管理自動化的之一其主要功能是用過攝方案論Hu矩是歸一化中心距的線性組合。Hu矩對縮放、旋轉(zhuǎn)和對稱變換具有不變性。模板Hu矩來進行字符識別。這類方法的優(yōu)點是算法實現(xiàn)簡單,設(shè)計論車牌規(guī)格介中民機動車號牌的規(guī)格共有19種。本文以小型汽車號牌為例來說1440mm×140mm,每個字符的輪廓尺90mm×45mm。小型汽車號牌共有七個字符,字符被點號分為兩組。點號前兩字符,英文字符中不包含O和I。車牌識別架
圖 小型汽車號車牌分割設(shè)
圖 車牌識別架圖 車牌分割流5×5456圖 均值濾波圖 原始圖 均值濾波結(jié)Sobel算子是一個離散微分算子,可以用它來計算圖像灰度函數(shù)的近似梯度。本文選擇的Sobel算子內(nèi)核的大小為3×3。Sobel算子內(nèi)核如圖7所示。垂直檢測結(jié)果如圖8所示。圖 Sobel算子內(nèi)圖 垂直檢測結(jié)21×39所示。圖 形態(tài)變換結(jié)便于接下來對圖像的裁剪。本文選取距離形態(tài)變換結(jié)果中白域中心的10個隨機10所示。圖 漫水填充結(jié)11所示。車牌學習設(shè)
圖 裁剪圖像結(jié)支持向量機SVM(SupportVectorMachine)是一個監(jiān)督式分類器。它是一個能練樣本,SVM算法能輸出一個最優(yōu)分隔超平面。12圖 分隔直12中可以看到有多條可能的直線將樣本分開。那么是不是存在某條直線比高,泛化性較差。所以目標就是找到一條直線,離所有點的距離最遠。SVM算法的最小距離。這個最小距離在SVM術(shù)語中稱為間隔。換句話說,最優(yōu)分隔超平面的目13所示。圖 最優(yōu)分隔超平14所示,其中最重要的是設(shè)置數(shù)據(jù)、學習模型和測試模型三圖 車牌學習流對特征分類。本文把圖像的像素直接作為特征,用于支持向量機的訓練和分類。當然這不是最好的特征提取方法,更好的特征提取方法有主成分分析、變換、可以把線性不可以分的特征 量機時選擇的核函數(shù)是線性核函數(shù),不對特征進行,訓練迭代次數(shù)為牌樣本各40個,測試的車牌樣本和非車牌樣本各10個。雖然樣本數(shù)量有限,測試結(jié)字符分割設(shè)15所示,其中最重要的是二值變化、獲取輪廓和裁剪輪廓三圖 字符分割流值的像素點的灰度值變?yōu)?55,灰度值小于閾值的像素點的灰度值變?yōu)?。本文選擇20016所示。圖 閾值變化結(jié)最外層的輪廓,使用Teh-Chin鏈近算法。90/45對獲取輪廓的多個區(qū)域進行裁剪,17所示。字符學習設(shè)
圖 輪廓裁剪結(jié)ANN(ArtificialNeuralNetworks)是一種模仿動物神經(jīng)網(wǎng)絡(luò)行為過調(diào)整大量節(jié)點之間相互連接的關(guān)系,從而達到處理信息的目的。18圖 神經(jīng)網(wǎng)19所示。x1到xN表示輸入,1表示先驗偏差。wi0到wiN表示權(quán)重,ui表示所有輸入的和。f(u)表示激勵函數(shù),yi表示值,就會產(chǎn)生一個值為+1的輸出信號;如果激勵值小于某個閥值,就會產(chǎn)生一個值為-1的輸出信號。圖 神經(jīng)細胞模激勵函數(shù)的作用是將和值回歸到+1至-1之間。常用的神經(jīng)網(wǎng)絡(luò)激勵函數(shù)有恒等函數(shù)、S型函數(shù)和函數(shù)。本文使用的激勵函數(shù)是S型函數(shù)。S型函數(shù)如公(1)20??(??)=β×
圖 S型函353521所示,其中最重要的是設(shè)置數(shù)據(jù)、學習模型和測試模型三圖 字符學習流20×20像素的低分辨率圖像作為特征,用于神經(jīng)網(wǎng)絡(luò)的訓練和識別。由于神經(jīng)網(wǎng)絡(luò)20節(jié)點數(shù)為35個,分別為10個數(shù)字、24個英文字符和1個其他字符。由于系統(tǒng)沒有移植漢字庫,所以把車牌中出現(xiàn)的漢字全部識別為其他字符。激勵函數(shù)為S型函數(shù)α和β值分別為1神經(jīng)網(wǎng)絡(luò)的學習算法為彈性反向算法經(jīng)過測試可以看到該訓練參數(shù)能夠很好的對字符圖像進行識別。車牌識別設(shè)22所示,其中最重要的是車牌檢測、字符識別和顯示結(jié)果三圖 車牌識別流23所示。圖 車牌識別結(jié)啟動流程介MINI2440Linux。接下來ARM處理器S3C2440的地址空間24所示處理器的啟動模式分為NorFlash模式和NandFlashNandFlash模式。處理器的啟動流程分為兩個階段第一個階段是NandFlash中的前4KB引導程序代碼到片內(nèi)RAM中運行,稱之為BL1;第二個階段是NandFlash中剩余的引導程序代碼到片外RAM中運行BL2。片內(nèi)RAM的地址空間為0x000000000x00008000,片外RAM0x300000000x40000000。圖 S3C2440的地址空引導程序分為兩種模式第一種是通過TFTPLinux內(nèi)核和掛載NFS根文件NandFlash加載LinuxYAFFS2根文件系開發(fā)模式設(shè)25所示,分為引導第一階段和引導第二階段兩個部分。引導圖 開發(fā)模式架作用是為C程序提供運行環(huán)境。跳轉(zhuǎn)到內(nèi)存的作用是從NandFlash中剩余的引是獲取TFTP服務(wù)器的物理地址和Linux內(nèi)核鏡像。中斷初始化用來處理系統(tǒng)產(chǎn)ARMARM。第五步需要關(guān)閉內(nèi)存管理器管理包速緩存和虛擬地址轉(zhuǎn)換。為了簡化引導程序的設(shè)計,所以需要關(guān)閉高速緩存和虛擬地址轉(zhuǎn)換功能。。一的節(jié)拍下工作。本文中提供的外部晶振頻率為12MHz,需要通過設(shè)置系統(tǒng)時鐘來提高系統(tǒng)的工作頻率。系統(tǒng)時鐘分為FCLK、HCLK、PCLK和UCLK四種。FLCK為處理器提供工作時鐘,HCLK為外部高速設(shè)備提供工作時鐘,PCLK為外部低速設(shè)UCLKHCLK101MHz,PCLK50MHz,UCLK96MHz。0x300000000x34000000101MHz。C語言進行編程,所以需要初始化??臻g地址。值得0x340000000x33000000。BSS段,C程序中未初始化的NandFlash閃存五個步驟。第十一步需要拷貝引導到內(nèi)存ARM處理器啟動時片內(nèi)ROM中引導程序BL0NandFlash4KBBL1拷貝到片內(nèi)RAM中運行。當引導程序大于4KB時,需要通過引導程序BL1把剩余的引導程序BL2拷貝到外部RAM中繼續(xù)運行。通過調(diào)用輔存讀數(shù)據(jù)函數(shù)把引導程序BL2拷貝到內(nèi)存。轉(zhuǎn)的地址是相對于地址空間的絕對地址引導程序BL1運行在片內(nèi)RAM的地址空間中引導程序BL2運行在片外RAM的地址空間中所以需要使用絕對跳轉(zhuǎn)指令跳轉(zhuǎn)到片外RAM(也就是內(nèi)存)BL2。碼元數(shù)。本文中串口通信使用異步通信方式,起始位1位,數(shù)據(jù)位8位,無奇偶校驗115200Bd。串口控制器的工作模式分為輪詢模式、中斷模式Cva_startvsscanf、輸出參數(shù)vsprintf和結(jié)束轉(zhuǎn)換va_endTFTP服務(wù)器的物理地址和Linux內(nèi)核鏡像。本文使用的網(wǎng)卡為DM9000。網(wǎng)卡的地址端口為0x20000300,數(shù)據(jù)端口為0x20000304。網(wǎng)卡的寄存器不能直接,只能同過地址端口加偏移來。初始化網(wǎng)卡分為初始化總線片選,初始化網(wǎng)卡中斷,復位網(wǎng)卡,判斷捕獲網(wǎng)卡和啟動網(wǎng)卡五個步驟。初始化總線片選設(shè)置觸發(fā)方式,清除中斷掩碼和清除中斷請求四個步驟。復位網(wǎng)卡又分為配置芯片引腳設(shè)置復位等待復位完成再次設(shè)置復位和等待復位完成五個步驟。判斷捕獲網(wǎng)卡又分為獲取網(wǎng)卡和判斷匹配成功兩個步驟啟動網(wǎng)卡又分為配置網(wǎng)卡、配置物理地址、顯示網(wǎng)絡(luò)地址和設(shè)置接收中斷四個步驟。標識Mac地址。但是通常情況下只知道對方的IP地址,這時就需要利用地址解析協(xié)議ARP來向局域網(wǎng)中的所有計算機發(fā)送ARP請求。收到請求并且滿足條件的計算機會發(fā)送ARPMacARPARP請求包和發(fā)送ARPARPARPMac頭部兩個步驟。MacMacMac地址和Mac協(xié)議類型。ARP件類型、協(xié)議類型、Mac地址長度、IP地址長度、ARP協(xié)議類型、源Mactypedefstruct{unsignedchareh_dst[6];unsignedchareh_src[6];unsignedshorteh_type;typedefstruct{typedefstruct{unsignedchareh_dst[6];unsignedchareh_src[6];unsignedshorteh_type;typedefstruct{unsignedshortarp_hrd;unsignedshortunsignedchararp_hln;unsignedchararp_pln;unsignedshortarp_op;unsignedchararp_sha[6];unsignedchararp_spa[4];unsignedchararp_tha[6];unsignedchar第十七步需要移植文件傳輸協(xié)議。移植文件傳輸協(xié)議是為了從服務(wù)器Linux內(nèi)核鏡像。簡單文件傳輸協(xié)議TFTP(TrivialFileTransferProtocol)是TCP/IP協(xié)議族UDP實現(xiàn)的協(xié)議,讀寫端為69。TFTP交換過程分為三個步驟。首先,客戶端發(fā)送請求報文到服務(wù)TFTP讀數(shù)據(jù)請求函數(shù)分為設(shè)置請求塊號,創(chuàng)建讀請求包和發(fā)送讀請求包三個步驟。TFTPTFTPUDP頭部,填充IP頭部和填充MacTFTP應答包和發(fā)送接收應答包三個步驟。創(chuàng)建接收應答包又分為填充TFTP塊號,填充TFTPUDPIP頭部和填充Mac頭部五個步驟。IP頭部包括協(xié)typedefstruct{unsignedcharip_vhl;unsignedcharip_tos;unsignedshortip_len;unsignedshortip_id;unsignedshortip_off;unsignedchar unsignedchar unsignedshortunsignedcharip_src[IP_ADR_LEN];unsignedchartypedefstruct{unsignedcharip_vhl;unsignedcharip_tos;unsignedshortip_len;unsignedshortip_id;unsignedshortip_off;unsignedchar unsignedchar unsignedshortunsignedcharip_src[IP_ADR_LEN];unsignedchartypedefstruct{unsignedshortudp_sport;unsignedshortunsignedshortudp_len;unsignedshorttypedefstruct{unsignedshort Linux內(nèi)核鏡像分為不加信息頭部的內(nèi)核鏡像zImage和加信息頭部的uImage兩種。本文啟動系統(tǒng)命令用來啟動不加信息頭部的內(nèi)核鏡像。啟動參數(shù)又分為設(shè)置參數(shù),設(shè)置內(nèi)存參數(shù),設(shè)置命令參數(shù)和設(shè)置結(jié)束標志四個步驟。設(shè)置令參數(shù)為掛載NFS根文件系統(tǒng)。自主模式設(shè)自主模式架構(gòu)如圖26所示,分為初始化,低級初始化,環(huán)境初始化和跳轉(zhuǎn)圖 自主模式架驅(qū)動設(shè)備驅(qū)動和網(wǎng)絡(luò)設(shè)備驅(qū)動??偩€分類法又分為平臺總線驅(qū)動、USBPCI總線驅(qū)動。為了使用USB線從宿主機引導程序、內(nèi)核鏡像和文件系統(tǒng)到開發(fā)件。接下來對驅(qū)動的設(shè)計進行詳細說明。27所示,分為設(shè)備方法,驅(qū)動方法和驅(qū)動安裝三個部分。設(shè)內(nèi)核鏡像裁
圖 驅(qū)動架Linux是一套免費使用和的操作系統(tǒng)是一個基于POSIX和UNIX的多設(shè)計思想,是一個性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。Linux系統(tǒng)架構(gòu)分為用戶空間和C函數(shù)庫兩個部分組成;內(nèi)核空間由系統(tǒng)調(diào)用接口、系統(tǒng)內(nèi)核代碼和體系結(jié)構(gòu)代碼三個部分組成。Linux內(nèi)核架構(gòu)分為系統(tǒng)核需要的功能包括支持掛載NFS根文件系統(tǒng)和YAFFS2根文件系統(tǒng),以及支持ZC3XXUSB頭驅(qū)動。內(nèi)核裁剪主要包括配置文件系統(tǒng),設(shè)置啟動文件和配置攝第一步需要配置文件系統(tǒng),使內(nèi)核支持掛載YAFFS2根文件系統(tǒng)和NFS根文件系統(tǒng)。在內(nèi)核根下運行配置菜單命令make configARCH=arm。然后進入DeviceDrivers選項中,選中MemoryTechnologyDevice(MTD)support選項,接著進入MemoryTechnologyDevice(MTD)support選項中,選中MTDpartitioningsupport選項,配置內(nèi)核支持掛載YAFFS2根文件系統(tǒng)。然后進入Filesystems選項中,選中NetworkFileSystems選項,接著進入NetworkFileSystems選項中,選中NFSclientsupport選項和RootfilesystemonNFS選項,接著進入NFSclientsupport選項中,選中FSclientsupportforNFSversion3選項,配置內(nèi)核支持掛載NFS根文件系統(tǒng)。第二步需要設(shè)置啟動文件,使內(nèi)核對NandFLash進行分區(qū)。在內(nèi)核 下staticstructmtd_partitionarm_default_nand_part[]=[0]=staticstructmtd_partitionarm_default_nand_part[]=[0]= ="i- = =[1]= =.offset= =[2]= =.offset= =}錄下運行配置菜單命令makeconfigARCH=arm。然后進入DeviceDrivers選項中,選中MultimediasupportMultimediasupport選項中,選中captureadapters選項,接著進入captureadapters選項中,選中V4LUSBdevices入GSPCAbaseds選項中,選中ZC3XXUSBCameraDriver選項,配置內(nèi)核支持ZC3XXUSB頭驅(qū)動。應用程序移和計算機視覺方面的很多通用算法。CGIWeb服務(wù)器之間的接口標準,是在CGIWeb服務(wù)器之間傳遞信息的規(guī)程。CGI允許Web服務(wù)器執(zhí)行務(wù)器,并通過CGI調(diào)用基于OpenCV的車牌識別程序,從而對頭的圖像行車牌識別。為了使開發(fā)板能支持OpenCV和CGI,需要對相關(guān)的動態(tài)庫進行交為MINI2440,接下來對這些步驟進行詳細說明。第一步需要安裝CMake工具。CMake是一個跨平臺的安裝和編譯工具,可以用簡單的語句來描述所有平臺的安裝和編譯過程需要用它來產(chǎn)生OpenCV的Makefile文件首先和解壓CMake源代碼然后運行配置命令./configure--prefix=/usr,用來指明安裝路徑。接著,運行編譯命令make,根據(jù)配置產(chǎn)生的Makefile文件編譯源代碼。最后,運行安裝命令makeinstall,安裝編譯產(chǎn)生的文件到安裝路徑。第二步需要移植OpenCV。首先,和解壓OpenCV源代碼。然后,編寫交叉_install。然后,運行配置命令cmakeccmake.WITH_GTK,WITH_FFMPEG,WITH_GSTREAMER,WITH_TIFF四個編譯選項。接著,運行編譯命令make,根據(jù)配置產(chǎn)生的Makefile文件編譯源代碼。接著,運行安裝命令makeinstall,安裝編譯產(chǎn)生的文件到安裝路徑。最后,OpenCV動態(tài)庫到開發(fā)板的/lib。第三步需要移植CGI。首先,和解壓CGI源代碼。然后,運行配置命安裝路徑。然后,運行編譯命令make,根據(jù)配置產(chǎn)生的Makefile文件編譯源代碼。動態(tài)庫到開發(fā)板的/lib。網(wǎng)頁服務(wù)移Ax或Linuxb服務(wù)器它不僅支持I并且適合于系統(tǒng)本文需要使用RM開發(fā)板來搭bTTPOA服務(wù)器進行交叉編譯和移植。接下來對這些步驟進行詳細說明。首先,和解壓BOA源代碼。運行配置命令./configure,生成編譯配置文MakefileMakefile根據(jù)配置產(chǎn)生的MakefileBOA服務(wù)器程序到開發(fā)板/sbin。在開發(fā)板/etcboaBOA配置文件到該文件夾。最后,修改BOA配置文件,使配置文件中的Root指向網(wǎng)頁所在文件夾的根路徑,ScriptAlias指向網(wǎng)頁運行CGI程序所在文件夾的路徑。啟動BOA服務(wù)器后,在瀏覽器中輸入開發(fā)板的IP地址,可以看到基于ARM的28所示。文件系統(tǒng)制
圖 基于ARM的車牌識別系Linux。還有文件系統(tǒng)的結(jié)構(gòu),所有Linux用戶和程序看到的文件、 護信息等都在其中Linux系統(tǒng)可以有多個文件系統(tǒng),但必須有一個根文件系統(tǒng)。根據(jù)設(shè)備的硬件特性和系統(tǒng)需求,不同的文件系統(tǒng)有不同的應用場合。在Linux應用中,主要的設(shè)備有RAM和Flash兩種,常用的基于設(shè)備的文件系統(tǒng)類型包括NFS、YAFFS2、JF
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 通風工程包工合同范例
- 湛江勞務(wù)派遣合同范例
- 裝飾小型合同范例
- 店鋪空房轉(zhuǎn)讓合同范例
- 加氫柴油采購合同范例
- 村里攤位出租合同范例
- 《汽車潤滑油》課件
- 棋牌桌椅定制合同范例
- 杉木購銷合同范例
- 工程貨物采購合同范例
- DB45T 2760-2023 電子政務(wù)外網(wǎng)網(wǎng)絡(luò)技術(shù)規(guī)范
- 2025版中考物理復習課件 09 專題五 類型3 電學綜合應用題(不含效率)(10年6考)
- 人力資源規(guī)劃
- 《北京大學介紹》課件
- 夜泊牛渚懷古
- 關(guān)于家長與學生評議教師制度
- 《大學生職業(yè)生涯規(guī)劃與就業(yè)指導》教學教案
- 26化學物的致突變、致癌變及致畸作用
- 鍋爐煮爐報告完
- 小學備、講、批、輔、考考評細則(修訂)
- 康熙字典漢字大全及字義解釋(按筆畫分類)
評論
0/150
提交評論