• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于嵌入式Linux和OpenCV的車牌定位方法

      2014-12-23 01:10:34田紅鵬
      計算機工程與設(shè)計 2014年11期
      關(guān)鍵詞:二值車牌字符

      田紅鵬,焦 鑫

      (西安科技大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,陜西 西安710054)

      0 引 言

      基本的車牌定位方法有5類。基于邊緣檢測的定位方法[1,2]適合用于車牌區(qū)域粗定位,在復(fù)雜場景下容易誤檢;基于顏色分割的定位方法[3]受背景顏色和光照條件的變化影響較大,車身顏色和車牌底色接近時效果較差;基于車牌紋理特征的定位方法[4]不易受車牌大小影響,但對噪聲比較敏感;基于數(shù)學(xué)形態(tài)學(xué)的定位方法[5]能快速尋找連通區(qū)域并消除部分干擾,但是不能精確確定車牌邊界,需要和其它方法結(jié)合使用;基于機器學(xué)習(xí)的方法[6]需要預(yù)先做大量的樣本訓(xùn)練,特征選擇是影響該方法性能的關(guān)鍵因素之一。此外,還有一些基于上述基本方法相互結(jié)合而成的定位方法[7-9]。多數(shù)文獻(xiàn)中的車牌定位方法均可在通用計算機上實現(xiàn)[1-9],不便對車牌現(xiàn)場定位,致使采集到的大量信息得不到及時處理?,F(xiàn)有嵌入式車牌定位系統(tǒng)高效便攜[10],但其靈活性和實用性還有待提高。

      本文在嵌入式Linux基礎(chǔ)上,將視頻監(jiān)控技術(shù)和圖像處理技術(shù)很好地結(jié)合起來,綜合利用車牌的顏色信息和字符紋理特征,提出一種魯棒性較強車牌定位方法。

      1 嵌入式Linux

      嵌入式Linux是以Linux內(nèi)核為基礎(chǔ),對Linux裁剪、修改后,嵌入到專用計算機系統(tǒng)上的操作系統(tǒng)。

      OpenCV (open source computer vision library)是 由Intel公司發(fā)起并開發(fā)的一個開放源代碼的計算機視覺庫,實現(xiàn)了圖像處理和計算機視覺方面的一些通用算法,為圖像分割、運動目標(biāo)檢測和模式識別等技術(shù)的研究提供了基礎(chǔ)。

      本文將OpenCV 移植到嵌入式Linux中,并在此基礎(chǔ)上,驗證了提出的算法,實現(xiàn)了一個小型的車牌定位系統(tǒng)。該系統(tǒng)包括4層,如圖1所示。

      圖1 系統(tǒng)架構(gòu)

      在圖1中,從上向下依次為應(yīng)用層、庫層、內(nèi)核層和硬件層。應(yīng)用層為以C/C++實現(xiàn)的車牌定位系統(tǒng)。該系統(tǒng)運用文中所提算法,具有較好的魯棒性。庫層為應(yīng)用層所依賴,從上向下包括OpenCV 視覺庫、OpenCV 依賴庫和基本C庫三部分。文中選用OpenCV 2.4.7 為應(yīng)用層提供相應(yīng)的圖像處理功能。OpenCV 依賴于libffmpg、libjpeg、libpng、libtiff、libstdcpp 和libpthread 等 庫。相 應(yīng)地,這些庫又依賴于其它一些庫,需要將所有被依賴的庫移植到目標(biāo)系統(tǒng)中。上述應(yīng)用程序和所有庫最終均依賴于基本C庫。本系統(tǒng)使用uClibc 0.9.33.2作為基本C 庫。內(nèi)核是操作系統(tǒng)的核心,完成進(jìn)程管理與調(diào)度、內(nèi)存管理、存儲管理、聯(lián)網(wǎng)和人機界面等功能。其向上為用戶提供API,為應(yīng)用程序提供運行環(huán)境;向下管理計算機硬件設(shè)備。本系統(tǒng)中,內(nèi)核層主要由Linux 3.3.8 組成。通過BusyBox 1.20.2構(gòu)建根文件系統(tǒng),隨后以SquashFS文件系統(tǒng)存儲于16MB的Nand Flash中。硬件層由CPU 和USB、BT656及I2C等外圍接口組成。本文選擇基于ARM11 內(nèi)核的Samsung S3C6410處理器作為實驗平臺。S3C6410處理器支持USB、SPI和I2C 等豐富的硬件接口以及主流的操作系統(tǒng)Linux、Wince和Android。系統(tǒng)中可通過USB接口或者BT656 接口連接攝像頭采集圖像。本系統(tǒng)使用以GCC 4.6.4構(gòu)建的交叉編譯工具鏈。

      2 基于嵌入式Linux和OpenCV的車牌定位方法

      2.1 車牌圖像特征及先驗知識分析

      車牌形狀一般為矩形,由漢字、字母和數(shù)字組合而成,共7個字符。大型民用汽車為黃底黑字;小型民用汽車為藍(lán)底白字;軍事專用汽車為白底紅或黑字;其它外籍汽車為黑底白字。現(xiàn)行的機動車輛號牌有標(biāo)準(zhǔn)的尺寸,其中藍(lán)牌、黑牌和黃牌中的前牌 (大型車輛前牌)尺寸均為440 mm×140mm;黃牌中的后牌 (大型車輛后牌)尺寸為440 mm×220mm。車牌上單個字符寬45mm (字符 “1”的空間包括左右空出來的空間),字符的筆畫寬度為10mm,第2字符與第3 字符之間的間隙為34mm,其它字符間隙為12mm[11]。標(biāo)準(zhǔn)車牌的寬高比約為3.14∶1,車牌中每個字符的寬度一致。每個字符寬度約占整個車牌寬度的1/10,約占整個車牌高度的1/3。車牌中的背景部分的面積約占整個車牌面積80%,整個車牌顏色主要為車牌中背景區(qū)域的顏色,即藍(lán)色、黃色和白色。鑒于HSV (hue,saturation,value)顏色空間接近人類視覺系統(tǒng),易于獲取車牌顏色在HSV 空間對應(yīng)的各個分量的范圍,本文在分析不同彩色圖像后,得到車牌顏色在HSV 空間的閾值見表1。

      表1 HSV 顏色空間中車牌顏色閾值

      需要說明的是,在HSV 顏色空間中H、S、V 這3個分量的取值范圍分別是0~360,0~1 和0~1,但在OpenCV 中,H 的取值范圍為0~180,S和V 的取值范圍均為0~255。所以,在調(diào)用的OpenCV 函數(shù)時,需要做相應(yīng)的轉(zhuǎn)換,公式[12]如下

      式中:H1、S1 和V1——OpenCV 中的取值。轉(zhuǎn)換后便可得到藍(lán)色、黃色和白色的各分量在OpenCV 中對應(yīng)的閾值。

      2.2 基于嵌入式平臺和OpenCV的車牌定位方法

      本文方法的主要思路是:結(jié)合不同顏色空間中圖像的特點,依據(jù)車牌顏色、紋理特征定位車牌。首先對光照不均勻的圖像分別在HSV 和RGB 顏色空間中做預(yù)處理。然后,根據(jù)字符跳變規(guī)律,在HSV 顏色空間的二值圖像中,找到可能包含車牌的若干個候選區(qū)域。最后,根據(jù)單個字符占整個車牌的比例,在RGB顏色空間二值圖像中,校驗所得候選區(qū)域,標(biāo)記車牌的4個邊界,從而提取出車牌區(qū)域。本方法流程如圖2所示。

      圖2 定位算法框架

      本文方法主要包括5個步驟:

      (1)讀取圖像

      本方法中讀取圖像的方式有2種:一種是通過cvCaptureFromCAM 函數(shù)初始化攝像頭并從中捕獲視頻,再調(diào)用cvQueryFrame函數(shù)從攝像頭捕獲的視頻中獲取并返回一幀圖像,用于后續(xù)處理。另一種是直接從文件中讀取靜態(tài)圖像,這種方式適合對包含不遵守交通規(guī)則車輛的圖像深入分析,通過cvLoadImage函數(shù)便可讀入圖像。

      (2)在RGB顏色空間預(yù)處理

      讀入圖像后,調(diào)用OpenCV 庫的cvSplit函數(shù)對讀入的RGB彩色圖像通道分離,得到3幅單通道圖像,然后分別用cvEqualizeHist函數(shù)直方圖均衡化這3 幅圖像,再用merge函數(shù)將已均衡化的3幅單通道圖像合并,得到對比度增強的圖像。再調(diào)用cvCvtColor函數(shù)將彩色圖像轉(zhuǎn)化為灰度圖像。

      根據(jù)最大熵法,求出當(dāng)前位置的能量熵,再循環(huán)測試每個分割點并尋找最大的閾值分割點作為圖像二值化閾值,最后調(diào)用cvThreshold 函數(shù)實現(xiàn)圖像的二值化。其中將cvThreshold函數(shù)中的閾值參數(shù)設(shè)置為用最大熵法求得的閾值。所得二值圖像為黑底白字。

      在取得RGB空間二值圖像之后,用cvSmooth函數(shù)對圖像中值濾波 (核大小為3×3),以消除孤立的噪聲點。

      (3)在HSV 顏色空間圖像預(yù)處理

      首先調(diào)用cvtColor函數(shù)將原圖轉(zhuǎn)換到HSV 顏色空間,再調(diào)用cvSplit函數(shù)將圖像的3個通道分離出來。

      根據(jù)表1中車牌顏色閾值和轉(zhuǎn)換公式得出在OpenCV中各顏色的H、S、V 分量的閾值。調(diào)用函數(shù)cvInrangeS分別將H、S、V 這3個通道的圖像二值化,再用cvAnd函數(shù)對得到的3幅二值圖像做與操作,便得到原圖在HSV 顏色空間的二值圖像。二值圖像中,在閾值范圍內(nèi)區(qū)域的像素為255,其它區(qū)域的像素為0。

      用數(shù)學(xué)形態(tài)學(xué)中的開運算操作消除目標(biāo)以外的孤立噪聲點和細(xì)小毛刺。即,先調(diào)用cvErode函數(shù)對圖像做腐蝕處理,再調(diào)用cvDilate函數(shù)對圖像做膨脹處理,調(diào)用函數(shù)中核元素均為2×2,處理次數(shù)均為1。

      (4)確定車牌候選區(qū)域

      在HSV 空間二值圖像中,按照從上到下、從左到右的順序逐行掃描。根據(jù)車牌特征,在車牌區(qū)域所在行至少應(yīng)該有14次像素跳變,且相鄰跳變間的距離大致相等??紤]到污點、邊界粘連等干擾情況,本方法選擇10次跳變?yōu)殚撝担⒆址麑挾鹊淖畲笾翟O(shè)為25個像素點。若2次跳變間的距離大于25,說明不是車牌區(qū)域,則重新開始記錄跳變次數(shù)和跳變距離。若在一行中連續(xù)跳變次數(shù)大于10且這10次跳變間距離均小于25則認(rèn)為該行滿足條件。記錄首次滿足條件的行作為開始行,并記錄滿足條件的連續(xù)行的行數(shù)。若相鄰行滿足條件則滿足條件的行數(shù)加1,否則置0,并重新掃描開始行。當(dāng)掃描到若干滿足條件的連續(xù)行后,首次遇到不滿足條件的行時,判斷滿足條件的行數(shù)是否大于車牌區(qū)域最小高度 (文中選20 個像素點)。若大于20,則記錄緊接著的第一個不滿足條件的行作為結(jié)束行,并將開始行和結(jié)束行之間的區(qū)域加入候選區(qū)域;若小于20,則不保存并繼續(xù)掃描下一行。這一過程將得到若干個行符合條件的候選區(qū)域。

      (5)校驗并提取車牌

      在RGB顏色空間的二值圖像中,提取步驟 (4)中得到的第一個候選區(qū)域,并根據(jù)候選區(qū)域高度和標(biāo)準(zhǔn)車牌寬高比估計車牌的最大寬度。接著對該區(qū)域垂直投影,將投影后數(shù)組中的元素按照車牌紋理特征分為兩類,即字符處的投影和字符間間隔的投影。對分類后的數(shù)組從左到右掃描,當(dāng)掃描到跳變距離約等于候選區(qū)域高度的1/3 時,認(rèn)為跳變距離符合字符條件,即可能遇到了車牌的第一個字符,記錄上次跳變的數(shù)組下標(biāo)。繼續(xù)向右掃描并記錄符合條件的跳變距離的個數(shù)。在從上次記錄的數(shù)組下標(biāo)開始向右的預(yù)計車牌最大寬度內(nèi),若滿足條件的跳變距離的個數(shù)大于5,則認(rèn)為該候選區(qū)域校驗成功。將之前記錄的數(shù)組下標(biāo)記為左邊界,跳變距離首次大于車牌高度的1/2 時,記錄上次跳變的數(shù)組下標(biāo)為右邊界。

      在得到車牌的4 個邊界后,調(diào)用cvSetImageROI函數(shù)提取車牌。若該候選區(qū)域校驗失敗,則繼續(xù)處理下一個候選區(qū)域。

      3 實驗結(jié)果

      本文對不同時間段、天氣、光照和背景條件下采集到的120張圖像做了檢測實驗。實驗證明,本系統(tǒng)在圖像一定程度的曝光過度或光線不足時仍能準(zhǔn)確定位。下面給出了兩組圖像的實驗過程及結(jié)果,并與現(xiàn)有定位方法[7]的定位結(jié)果做比較,如圖3~圖9所示。

      圖3 原圖

      如圖3所示,圖3 (a)為中午光線較強導(dǎo)致曝光過度的圖像,圖3 (b)為車牌區(qū)域位于陰影部分而光線較暗的圖像。

      圖4為在HSV 顏色空間根據(jù)車牌顏色特征二值化后得到的圖像。由圖中可以看出,已經(jīng)排除了大部分干擾信息,邊界清晰,但是有細(xì)小毛刺和孤立噪聲點。

      圖4 HSV 空間的二值圖

      如圖5所示,對圖4中的兩張二值圖像采用數(shù)學(xué)形態(tài)學(xué)中的開運算操作除噪后,許多細(xì)小的噪聲點和毛刺被消除,但是若圖像質(zhì)量較差,車牌左右邊界可能會被腐蝕掉一部分,如圖5 (b)中車牌的右邊界處被腐蝕了一些,不利于確定車牌左右邊界。

      圖5 形態(tài)學(xué)除噪后的圖像

      圖6為在RGB顏色空間中用最大熵法求得閾值,并二值化圖像得到的結(jié)果。如圖6中所示,車牌字符比較清晰并且字符間隔比較明顯,有利于字符的掃描和校驗。

      圖6 RGB空間的二值圖

      如圖7所示,圖中的4條白線分別為掃描過程中得到的車牌邊界。

      圖7 確定車牌邊界結(jié)果

      圖8為采用本文方法得到的定位結(jié)果,圖9為采用文獻(xiàn) [7]中所提車牌定位方法得到的結(jié)果。由圖9可知,圖9 (a)中右邊第一個字符未被準(zhǔn)確提取,車牌的右邊界定位不夠準(zhǔn)確;圖9 (b)中車牌上的漢字和 “8”、“9”的右下方位置均不太清晰。由對比可知,本文方法定位相對準(zhǔn)確,提取到的字符相對清晰,并且將車牌邊框去除,有利于后續(xù)的字符分割和字符識別。

      圖8 本文提取車牌結(jié)果

      圖9 文獻(xiàn) [7]方法提取車牌結(jié)果

      4 結(jié)束語

      本文綜合運用直方圖均衡化、不同顏色空間中圖像二值化和數(shù)學(xué)形態(tài)學(xué)等圖像處理技術(shù),結(jié)合嵌入式系統(tǒng)和視頻監(jiān)控技術(shù),提出了一種基于車牌顏色信息和紋理特征的車牌定位方法。該方法首先根據(jù)車牌圖像特點對圖像進(jìn)行預(yù)處理,然后分別尋找車牌的4個邊界,從而確定車牌區(qū)域??偨Y(jié)本文方法特點,主要體現(xiàn)在3個方面:①基于嵌入式Linux,可移植性高并且具有實時性和實用性;②對圖像進(jìn)行直方圖均衡化,減小了光照變化的影響,在光照不足或曝光過度的條件下,依然能正確定位車牌區(qū)域;③利用車牌紋理的不同特點掃描車牌邊界,有效地減小了車身顏色和細(xì)小污染的干擾,并且對拍攝遠(yuǎn)近不敏感。下一步研究工作為自適應(yīng)確定算法中的可調(diào)參數(shù)以及在定位基礎(chǔ)上研究字符分割和識別技術(shù)等。

      [1]Mai V D,Miao D,Wang R.Vietnam license plate recognition system based on edge detection and neural networks[J].Journal of Information and Computing Science,2013,8 (1):27-40.

      [2]QU Zhong,WANG Yongkun,CHANG Qingli,et al.Accurate location algorithm design for license plate based on three steps location [J].Computer Engineering and Design,2013,34 (8):2806-2810 (in Chinese). [瞿中,王永昆,常慶麗,等.基于三次定位過程的車牌精確定位算法設(shè)計 [J].計算機工程與設(shè)計,2013,34 (8):2806-2810.]

      [3]Hu H P,Bai Y P.A kind of car license plate location based on color feature and mathematical morphology [J].Advanced Materials Research,2013,671:2851-2854.

      [4]Yan Q.Method of license plate location based on license plate texture and HSV color space [M].Information Engineering and Applications.Springer London,2012:962-970.

      [5]LIAO Chunsheng.Car plate detection and recognition using morphological method [J].Computer Simulation,2011,28(12):353-356 (in Chinese).[廖春生.基于數(shù)學(xué)形態(tài)學(xué)車牌定位算法仿真研究 [J].計算機仿真,2011,28 (12):353-356.]

      [6]Al-Hmouz R,Challa S.License plate localization based on a probabilistic model [J].Machine Vision and Applications,2010,21 (3):319-330.

      [7]TAN Tongde,WANG Sangang.Method of vehicle license plate location based on OpenCV [J].Computer Engineering and Design,2013,34 (8):2816-2820 (in Chinese). [譚同德,王三剛.基于OpenCV 的車牌定位方法 [J].計算機工程與設(shè)計,2013,34 (8):2816-2820.]

      [8]ZHANG Xiaona,HE Ren,CHEN Shi’an,et al.Vehicle license plate location using active learning AdaBoost algorithm and color feature [J].Journal of Traffic and Transportation Engineering,2013,13 (1):121-126 (in Chinese).[張曉娜,何仁,陳士安,等.基于主動學(xué)習(xí)AdaBoost算法與顏色特征的車 牌 定 位 [J].交 通 運 輸 工 程 學(xué) 報,2013,13 (1):121-126.]

      [9]CHANG Qiaohong,GAO Mandun.Research on license plate location based on HSV color space and mathematical morpholo-gy [J].Journal of Graphics,2013,34 (4):159-162 (in Chinese).[常巧紅,高滿屯.基于HSV 色彩空間與數(shù)學(xué)形態(tài)學(xué) 的 車 牌 定 位 研 究 [J]. 圖 形 學(xué) 報,2013,34 (4):159-162.]

      [10]HUO Lingling,XU Wenjun,ZHAO Yunqing,et al.Design and implementation of an embedded system of vehicle license plate recognition [J].Computer Technology and Development,2013,23 (4):206-208 (in Chinese). [霍玲玲,徐文軍,趙云青,等.嵌入式車牌識別系統(tǒng)的設(shè)計與實現(xiàn) [J].計算機技術(shù)與發(fā)展,2013,23 (4):206-208.]

      [11]ZHENG Chengyong.A novel license plate location method on RGB color space[J].Journal of Image and Graphics,2010,15 (11):1623-1628 (in chinese).[鄭成勇.一種RGB顏色空間中的車牌定位新方法 [J].中國圖象圖形學(xué)報,2010,15 (11):1623-1628.]

      [12]Miscellaneous image transformation [EB/OL]. [2013-11-12].http://www.opencv.org.cn/opencvdoc/2.3.2/html/modules/imgproc/doc/miscellaneous_transformations.html.

      猜你喜歡
      二值車牌字符
      尋找更強的字符映射管理器
      混沌偽隨機二值序列的性能分析方法研究綜述
      支持CNN與LSTM的二值權(quán)重神經(jīng)網(wǎng)絡(luò)芯片
      字符代表幾
      一種USB接口字符液晶控制器設(shè)計
      電子制作(2019年19期)2019-11-23 08:41:50
      數(shù)字圖像處理技術(shù)在車牌識別系統(tǒng)中的應(yīng)用
      電子制作(2019年12期)2019-07-16 08:45:16
      基于二值形態(tài)學(xué)算子的軌道圖像分割新算法
      消失的殖民村莊和神秘字符
      視頻圖像文字的二值化
      第一張車牌
      中宁县| 开鲁县| 临沧市| 南岸区| 青龙| 金山区| 赞皇县| 汕尾市| 疏勒县| 安陆市| 和田市| 大田县| 长岛县| 贵州省| 宝坻区| 玉门市| 岳池县| 乌海市| 洛宁县| 泸溪县| 桑日县| 清河县| 九台市| 明水县| 萝北县| 东阳市| 株洲县| 吴川市| 湖北省| 沙洋县| 紫阳县| 施秉县| 嵩明县| 武鸣县| 高要市| 山东省| 西乌珠穆沁旗| 五常市| 高邑县| 大同市| 美姑县|