車牌識別系統的設計_第1頁
車牌識別系統的設計_第2頁
車牌識別系統的設計_第3頁
車牌識別系統的設計_第4頁
車牌識別系統的設計_第5頁
已閱讀5頁,還剩16頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、車牌識別系統的設計1摘要:汽車牌照自動識別系統是制約道路交通智能化的重要因素,包括車牌定位、字符分割和字符識別三個主要部分。本文首先確定車輛牌照在原始圖像中的水平位置和垂直位置,從而定位車輛牌照,然后采用局部投影進行字符分割。在字符識別部分,提出了在無特征提取情況下基于支持向量機的車牌字符識別方法。實驗結果表明,本文提出的方法具有良好的識別性能。隨著公路逐漸普及,我國的公路交通事業發展迅速,所以人工管理方式已經不能滿著實際的需要,微電子、通信和計算機技術在交通領域的應用極大地提高了交通管理效率。汽車牌照的自動識別技術已經得到了廣泛應用。2設計目的:1、使學生在鞏固理論課上知識的同時,加強實踐能

2、力的提高,理論聯系實踐。2、激發學生的研究潛能,提高學生的協作精神,鍛煉學生的動手能力。3設計原理由于車輛牌照是機動車唯一的管理標識符號,在交通管理中具有不可替代的作用,因此車輛牌照識別系統應具有很高的識別正確率,對環境光照條件、拍攝位置和車輛行駛速度等因素的影響應有較大的容閾,并且要求滿足實時性要求。 圖1 牌照識別系統原理圖該系統是計算機圖像處理與字符識別技術在智能化交通管理系統中的應用,它主要由圖像的采集和預處理、牌照區域的定位和提取、牌照字符的分割和識別等幾個部分組成,如圖1 所示。其基本工作過程如下:(1)當行駛的車輛經過時,觸發埋設在固定位置的傳感器,系統被喚醒處于工作狀態;一旦連

3、接攝像頭光快門的光電傳感器被觸發,設置在車輛前方、后方和側面的相機同時拍攝下車輛圖像;(2)由攝像機或CCD 攝像頭拍攝的含有車輛牌照的圖像通視頻卡輸入計算機進行預處理,圖像預處理包括圖像轉換、圖像增強、濾波和水平較正等;(3)由檢索模塊進行牌照搜索與檢測,定位并分割出包含牌照字符號碼的矩形區域;(4)對牌照字符進行二值化并分割出單個字符,經歸一化后輸入字符識別系統進行識別。4詳細設計步驟4.1 提出總體設計方案。車輛牌照識別整個系統主要是由車牌定位和字符識別兩部分組成,其中車牌定位又可以分為圖像預處理及邊緣提取模塊和牌照的定位及分割模塊;字符識別可以分為字符分割與特征提取和單個字符識別兩個模

4、塊。為了用于牌照的分割和牌照字符的識別,原始圖象應具有適當的亮度,較大的對比度和清晰可辯的牌照圖象。但由于該系統的攝像部分工作于開放的戶外環境,加之車輛牌照的整潔度、自然光照條件、拍攝時攝像機與牌照的矩離和角度以及車輛行駛速度等因素的影響,牌照圖象可能出現模糊、歪斜和缺損等嚴重缺陷,因此需要對原始圖象進行識別前的預處理。牌照的定位和分割是牌照識別系統的關鍵技術之一,其主要目的是在經圖象預處理后的原始灰度圖象中確定牌照的具體位置,并將包含牌照字符的一塊子圖象從整個圖象中分割出來,供字符識別子系統識別之用,分割的準確與否直接關系到整個牌照字符識別系統的識別率。由于拍攝時的光照條件、牌照的整潔程度的

5、影響,和攝像機的焦距調整、鏡頭的光學畸變所產生的噪聲都會不同程度地造成牌照字符的邊界模糊、細節不清、筆劃斷開或粗細不均,加上牌照上的污斑等缺陷,致使字符提取困難,進而影響字符識別的準確性。因此,需要對字符在識別之前再進行一次針對性的處理。車牌識別的最終目的就是對車牌上的文字進行識別。主要應用的為模板匹配方法。因為系統運行的過程中,主要進行的都是圖像處理,在這個過程中要進行大量的數據處理,所以處理器和內存要求比較高,CPU要求主頻在600HZ及以上,內存在128MB及以上。系統可以運行于Windows98、Windows2000或者Windows XP操作系統下,程序調試時使用matlab。4.

6、2 預處理及邊緣提取 輸入車牌圖象灰度校正平滑處理提取邊緣 圖2 預處理及邊緣提取流程圖 4.2.1 圖象的采集與轉換考慮到現有牌照的字符與背景的顏色搭配一般有藍底白字、黃底黑字、白底紅字、綠底白字和黑底白字等幾種,利用不同的色彩通道就可以將區域與背景明顯地區分出來,例如,對藍底白字這種最常見的牌照,采用藍色B 通道時牌照區域為一亮的矩形,而牌照字符在區域中并不呈現。因為藍色(255,0,0)與白色(255,255,255)在B 通道中并無區分,而在G、R 通道或是灰度圖象中并無此便利。同理對白底黑字的牌照可用R 通道,綠底白字的牌照可以用G 通道就可以明顯呈現出牌照區域的位置,便于后續處理。

7、原圖、灰度圖及其直方圖見圖2與圖3。對于將彩色圖象轉換成灰度圖象時,圖象灰度值可由下面的公式計算: G=0.110B+0.588G+0.302R (1) G= (2) 圖3 原圖 圖4 灰度圖4.2.2 邊緣提取 邊緣是指圖像局部亮度變化顯著的部分,是圖像風、紋理特征提取和形狀特征提取等圖像分析的重要基礎。所以在此我們要對圖像進行邊緣檢測。圖象增強處理對圖象牌照的可辯認度的改善和簡化后續的牌照字符定位和分割的難度都是很有必要的。增強圖象對比度度的方法有:灰度線性變換、圖象平滑處理等。(1)灰度校正由于牌照圖象在拍攝時受到種種條件的限制和干擾,圖象的灰度值往往與實際景物不完全匹配,這將直接影響到

8、圖象的后續處理。如果造成這種影響的原因主要是由于被攝物體的遠近不同,使得圖象中央區域和邊緣區域的灰度失衡,或是由于攝像頭在掃描時各點的靈敏度有較大的差異而產生圖象灰度失真,或是由于曝光不足而使得圖像的灰度變化范圍很窄。這時就可以采用灰度校正的方法來處理,增強灰度的變化范圍、豐富灰度層次,以達到增強圖象的對比度和分辨率。我們發現車輛牌照圖象的灰度取值范圍大多局限在r=(50,200)之間,而且總體上灰度偏低,圖象較暗。根據圖象處理系統的條件,最好將灰度范圍展開到s=(0,255)之間,為此我們對灰度值作如下的變換: s = T(r) r=r min,,r max 使得SSmin, Smax,其中

9、,T為線性變換, 圖5 灰度線性變換 (3)若 r(50,200)、s(0,255)則: (4) (2)平滑處理對于受噪聲干擾嚴重的圖象,由于噪聲點多在頻域中映射為高頻分量,因此可以在通過低4325i,j167823i,j14通濾波器來濾除噪聲,但實際中為了簡化算法也可以直接在空域中用求鄰域平均值的方法萊削弱噪聲的影響,這種方法稱為圖象平滑處理。例如,某一象素點的鄰域S 有兩種表示方法:8鄰域和4鄰域分別對應的鄰域平均值為 (5)其中,M 為鄰域中除中心象素點f(i,j) 之外包括的其它象素總數,對于4鄰域M=4,8 鄰域M=8。然而,鄰域平均值的平滑處理會使得圖象灰度急劇變化的地方,尤其是物

10、體邊緣區域和字符輪廓等部分產生模糊作用。為了克服這種平均化引起的圖象模糊現象,我們給中心點象素值與其鄰域平均值的差值設置一固定的閾值,只有大于該閾值的點才能替換為鄰域平均值,而差值不大于閾值時,仍保留原來的值,從而減少由于平均化引起的圖象模糊。圖像中車輛牌照是具有比較顯著特征的一塊圖象區域,這此特征表現在:近似水平的矩形區域;其中字符串都是按水平方向排列的;在整體圖象中的位置較為固定。正是由于牌照圖象的這些特點,再經過適當的圖象變換,它在整幅中可以明顯地呈現出其邊緣。邊緣提取是較經典的算法,此處邊緣的提取采用的是Roberts算子。圖6 robert算子邊緣檢測由上圖可以歸納起來以下方面:原始

11、圖像清晰度比較高,從而簡化了預處理,結合MATLAB實驗過程,得出不是每一種圖像處理之初都適合濾波和邊界增強。本次汽車車牌的識別,為了保存更多的有用信息。 4.3 牌照的定位和分割牌照的定位和分割是牌照識別系統的關鍵技術之一,其主要目的是在經圖象預處理后的原始灰度圖象中確定牌照的具體位置,并將包含牌照字符的一塊子圖象從整個圖象中分割出來,供字符識別子系統識別之用,分割的準確與否直接關系到整個牌照字符識別系統的識別率。由于牌照圖象在原始圖象中是很有特征的一個子區域,確切說是水平度較高的橫向近似的長方形,它在原始圖象中的相對位置比較集中,而且其灰度值與周邊區域有明顯的不同,因而在其邊緣形成了灰度突

12、變的邊界,這樣就便于通過邊緣檢測來對圖象進行分割。對圖像進行腐蝕去除雜質通過計算尋找X和Y方向車牌的區域完成車牌定位對分割出的車牌做進一步處理 圖7 牌照定位于分割流程圖4.3.1 牌照區域的定位牌照圖象經過了以上的處理后,牌照區域已經十分明顯,而且其邊緣得到了勾勒和加強。此時可進一步確定牌照在整幅圖象中的準確位置。這里選用的是數學形態學的方法,其基本思想是用具有一定形態的機構元素去量度和提取圖像中的對應形狀以達到對圖像分析和識別的目的。數學形態學的應用可以簡化圖像數據,保持它們基本的形態特征,并除去不相干的結構。在本程序中用到了膨脹和閉合這兩個基本運算,最后還用了bwareaopen來去除對

13、象中不相干的小對象。 圖8 腐蝕后圖像 圖9 平滑圖像的輪廓 圖10 從對象中移除小對象后圖像4.3.2 牌照區域的分割對車牌的分割可以有很多種方法,本程序是利用車牌的彩色信息的彩色分割方法。根據車牌底色等有關的先驗知識,采用彩色像素點統計的方法分割出合理的車牌區域,確定車牌底色藍色RGB對應的各自灰度范圍,然后行方向統計在此顏色范圍內的像素點數量,設定合理的 閾值,確定車牌在行方向的合理區域。然后,在分割出的行區域內,統計列方向藍色像素點的數量,最終確定完整的車牌區域。圖11 行方向區域和最終定位出來的車牌4.3.3車牌進一步處理經過上述方法分割出來的車牌圖像中存在目標物體、背景還有噪聲,要

14、想從圖像中直接提取出目標物體,最常用的方法就是設定一個閾值T,用T將圖像的數據分成兩部分:大于T的像素群和小于T的像素群,即對圖像二值化。均值濾波是典型的線性濾波算法,它是指在圖像上對目標像素給一個模板,該模板包括了其周圍的臨近像素。再用模板中的全體像素的平均值來代替原來像素值。圖12 裁剪出來的車牌的進一步處理過程圖4.4 字符的分割與歸一化m,n=size(d),逐排檢查有沒有白色像素點,設置1<=j<n-1,若圖像兩邊s(j)=0,則切割,去除圖像兩邊多余的部分切割去圖像上下多余的部分根據圖像的大小,設置一閾值,檢測圖像的X軸,若寬度等于這一閾值則切割,分離出七個字符歸一化切

15、割出來的字符圖像的大小為40*20,與模板中字符圖像的大小相匹配 圖13 字符分割與歸一化流程圖字符分割在汽車牌照自動識別過程中,字符分割有承前啟后的作用。它在前期牌照定位的基礎上進行字符的分割,然后再利用分割的結果進行字符識別。字符識別的算法很多,因為車牌字符間間隔較大,不會出現字符粘連情況,所以此處采用的方法為尋找連續有文字的塊,若長度大于某閾值,則認為該塊有兩個字符組成,需要分割。 圖14 分割出來的七個字符圖像字符歸一化一般分割出來的字符要進行進一步的處理,以滿足下一步字符識別的需要。但是對于車牌的識別,并不需要太多的處理就已經可以達到正確識別的目的。在此只進行了歸一化處理,然后進行后

16、期處理。圖15 歸一化處理后的七個字符圖像45 字符的識別 字符的識別目前用于車牌字符識別(OCR)中的算法主要有基于模板匹配的OCR算法以及基于人工神經網絡的OCR算法。基于模板匹配的OCR的基本過程是:首先對待識別字符進行二值化并將其尺寸大小縮放為字符數據庫中模板的大小,然后與所有的模板進行匹配,最后選最佳匹配作為結果。模板匹配的主要特點是實現簡單,當字符較規整時對字符圖像的缺損、污跡干擾適應力強且識別率相當高。綜合模板匹配的這些優點我們將其用為車牌字符識別的主要方法。模板匹配是圖象識別方法中最具代表性的基本方法之一,它是將從待識別的圖象或圖象區域f(i,j)中提取的若干特征量與模板T(i

17、,j)相應的特征量逐個進行比較,計算它們之間規格化的互相關量,其中互相關量最大的一個就表示期間相似程度最高,可將圖象歸于相應的類。也可以計算圖象與模板特征量之間的距離,用最小距離法判定所屬類。然而,通常情況下用于匹配的圖象各自的成像條件存在差異,產生較大的噪聲干擾,或圖象經預處理和規格化處理后,使得圖象的灰度或像素點的位置發生改變。在實際設計模板的時候,是根據各區域形狀固有的特點,突出各類似區域之間的差別,并將容易由處理過程引起的噪聲和位移等因素都考慮進去,按照一些基于圖象不變特性所設計的特征量來構建模板,就可以避免上述問題。建立自動識別的代碼表讀取分割出來的字符第一個字符與模板中的漢字模板進

18、行匹配第二個字符與模板中的字母模板進行匹配待識別字符與模板字符相減,值越小相似度越大,找到最小的一個即為匹配的最好的識別完成,輸出此模板對應值后5個字符與模板中的字母與數字模板進行匹配圖16 字符識別流程圖此處采用相減的方法來求得字符與模板中哪一個字符最相似,然后找到相似度最大的輸出。汽車牌照的字符一般有七個,大部分車牌第一位是漢字,通常代表車輛所屬省份,緊接其后的為字母與數字。車牌字符識別與一般文字識別在于它的字符數有限,漢字共約50多個,大寫英文字母26個,數字10個。為了實驗方便,結合本次設計所選汽車牌照的特點,只建立了4個數字26個字母與10個數字的模板。其他模板設計的方法與此相同。首

19、先取字符模板,接著依次取待識別字符與模板進行匹配,將其與模板字符相減,得到的0越多那么就越匹配。把每一幅相減后的圖的0值個數保存,即為識別出來的結果。圖17 識別結果5設計結果及分析通過以上的方法,我對多幅圖像進行了檢測,有較好的識別效果。下面是對另一幅車牌照的檢測,結果如圖18-24 所示。 圖18 圖19 圖20 圖 21 圖22 圖 23 圖24對于光照條件不理想的圖象,可先進行一次圖象增強處理,使得圖象灰度動態范圍擴展和對比度增強,再進行定位和分割,這樣可以提高分割的正確率。而采用了色彩通道的牌照區域分割算法充分利用了牌照圖象的色彩信息,簡化了算法的實現,加快了圖象的處理速度,具有較高

20、的檢出正確率,而且整個過程用MATLAB 語言編程實現,無時間滯后感,可以滿足實時檢出的要求。但是在設計的過程中發現,使用另一幅圖像后,識別效果始終沒有那么理想。需要做一定的設置后才能識別出相應的字符。在車牌字符分割的預處理中,用到了對分割出的字符車牌進行均值濾波,膨脹或腐蝕的處理。這在對于有雜點的車牌是很有用的,因為這樣可以把字符與字符之間的雜色點去除,只有白色的字符和黑色的背景存在,這樣有利于的字符分割進行。字符識別過程使用的是模板匹配的方法,利用兩幅圖片相減的方法,找到相減后值最小的,即為相似程度最大的。模板的制作很重要,必須要用精確的模板,否則就不能正確的識別。對于識別錯誤情況的分析可

21、知,主要原因:一是牌照自身的污漬等影響了圖象的質量;二是牌照字符的分割失敗導致的識別錯誤;再就是部分字符的形狀相似性,比如,B 和8;A 和4 等字符識別結果可能發生混淆的情況。總之,盡管目前牌照字符的識別率還不理想,但是只要在分割出的字符的大小、位置的歸一化,以及嘗試提取分類識別能力更好的特征值和設計分類器等環節上再完善,進一步提高識別率是完全可行的。6程序源代碼:(基于matlab的程序代碼) function d=main(jpg)I=imread('car.jpg');figure(1),imshow(I);title('原圖');I1=rgb2gray

22、(I);figure(2),subplot(1,2,1),imshow(I1);title('灰度圖');figure(2),subplot(1,2,2),imhist(I1);title('灰度圖直方圖');I2=edge(I1,'robert',0.08,'both');figure(3),imshow(I2);title('robert算子邊緣檢測')se=1;1;1;I3=imerode(I2,se);figure(4),imshow(I3);title('腐蝕后圖像');se=strel(

23、'rectangle',40,40);I4=imclose(I3,se);figure(5),imshow(I4);title('平滑圖像的輪廓');I5=bwareaopen(I4,2000);figure(6),imshow(I5);title('從對象中移除小對象');y,x,z=size(I5);myI=double(I5); %begin橫向掃描tic Blue_y=zeros(y,1); for i=1:y for j=1:x if(myI(i,j,1)=1) %如果myI(i,j,1)即myI圖像中坐標為(i,j)的點為藍色 %則B

24、lue_y的相應行的元素white_y(i,1)值加1 Blue_y(i,1)= Blue_y(i,1)+1;%藍色像素點統計 end end end temp MaxY=max(Blue_y);%temp為向量white_y的元素中的最大值,MaxY為該值的索引( 在向量中的位置) PY1=MaxY; while (Blue_y(PY1,1)>=120)&&(PY1>1) PY1=PY1-1; end PY2=MaxY; while (Blue_y(PY2,1)>=40)&&(PY2<y) PY2=PY2+1; end IY=I(PY1

25、:PY2,:,:);%IY為原始圖像I中截取的縱坐標在PY1:PY2之間的部分 %end橫向掃描 %begin縱向掃描 Blue_x=zeros(1,x);%進一步確定x方向的車牌區域 for j=1:x for i=PY1:PY2 if(myI(i,j,1)=1) Blue_x(1,j)= Blue_x(1,j)+1; end end end PX1=1; while (Blue_x(1,PX1)<3)&&(PX1<x) PX1=PX1+1; end PX2=x; while (Blue_x(1,PX2)<3)&&(PX2>PX1) P

26、X2=PX2-1; end %end縱向掃描 PX1=PX1-2;%對車牌區域的校正 PX2=PX2+2; dw=I(PY1:PY2,:,:); t=toc; figure(7),subplot(1,2,1),imshow(IY),title('行方向合理區域');figure(7),subplot(1,2,2),imshow(dw),title('定位剪切后的彩色車牌圖像')imwrite(dw,'dw.jpg');filename,filepath=uigetfile('dw.jpg','輸入一個定位裁剪后的車牌圖像&

27、#39;);jpg=strcat(filepath,filename);a=imread('dw.jpg');b=rgb2gray(a);imwrite(b,'1.車牌灰度圖像.jpg');figure(8);subplot(3,2,1),imshow(b),title('1.車牌灰度圖像')g_max=double(max(max(b);g_min=double(min(min(b);T=round(g_max-(g_max-g_min)/3); % T 為二值化的閾值m,n=size(b);d=(double(b)>=T); % d:二

28、值圖像imwrite(d,'2.車牌二值圖像.jpg');figure(8);subplot(3,2,2),imshow(d),title('2.車牌二值圖像')figure(8),subplot(3,2,3),imshow(d),title('3.均值濾波前')% 濾波h=fspecial('average',3);d=im2bw(round(filter2(h,d);imwrite(d,'4.均值濾波后.jpg');figure(8),subplot(3,2,4),imshow(d),title('4.

29、均值濾波后')% 某些圖像進行操作% 膨脹或腐蝕% se=strel('square',3); % 使用一個3X3的正方形結果元素對象對創建的圖像膨脹% 'line'/'diamond'/'ball'.se=eye(2); % eye(n) returns the n-by-n identity matrix 單位矩陣m,n=size(d);if bwarea(d)/m/n>=0.365 d=imerode(d,se);elseif bwarea(d)/m/n<=0.235 d=imdilate(d,se);e

30、ndimwrite(d,'5.膨脹或腐蝕處理后.jpg');figure(8),subplot(3,2,5),imshow(d),title('5.膨脹或腐蝕處理后')% 尋找連續有文字的塊,若長度大于某閾值,則認為該塊有兩個字符組成,需要分割d=qiege(d);m,n=size(d);figure,subplot(2,1,1),imshow(d),title(n)k1=1;k2=1;s=sum(d);j=1;while j=n while s(j)=0 j=j+1; end k1=j; while s(j)=0 && j<=n-1 j=

31、j+1; end k2=j-1; if k2-k1>=round(n/6.5) val,num=min(sum(d(:,k1+5:k2-5); d(:,k1+num+5)=0; % 分割 endend% 再切割d=qiege(d);% 切割出 7 個字符y1=10;y2=0.25;flag=0;word1=;while flag=0 m,n=size(d); left=1;wide=0; while sum(d(:,wide+1)=0 wide=wide+1; end if wide<y1 % 認為是左側干擾 d(:,1:wide)=0; d=qiege(d); else temp

32、=qiege(imcrop(d,1 1 wide m); m,n=size(temp); all=sum(sum(temp); two_thirds=sum(sum(temp(round(m/3):2*round(m/3),:); if two_thirds/all>y2 flag=1;word1=temp; % WORD 1 end d(:,1:wide)=0;d=qiege(d); endend% 分割出第二個字符word2,d=getword(d);% 分割出第三個字符word3,d=getword(d);% 分割出第四個字符word4,d=getword(d);% 分割出第五個字

33、符word5,d=getword(d);% 分割出第六個字符word6,d=getword(d);% 分割出第七個字符word7,d=getword(d);figure(9),imshow(word1),title('1');figure(10),imshow(word2),title('2');figure(11),imshow(word3),title('3');figure(12),imshow(word4),title('4');figure(13),imshow(word5),title('5');fig

34、ure(14),imshow(word6),title('6');figure(15),imshow(word7),title('7');m,n=size(word1);% 商用系統程序中歸一化大小為 40*20,此處演示word1=imresize(word1,40 20);word2=imresize(word2,40 20);word3=imresize(word3,40 20);word4=imresize(word4,40 20);word5=imresize(word5,40 20);word6=imresize(word6,40 20);word7

35、=imresize(word7,40 20);figure(16),subplot(3,7,8),imshow(word1),title('1');subplot(3,7,9),imshow(word2),title('2');subplot(3,7,10),imshow(word3),title('3');subplot(3,7,11),imshow(word4),title('4');subplot(3,7,12),imshow(word5),title('5');subplot(3,7,13),imshow(

36、word6),title('6');subplot(3,7,14),imshow(word7),title('7');imwrite(word1,'1.jpg');imwrite(word2,'2.jpg');imwrite(word3,'3.jpg');imwrite(word4,'4.jpg');imwrite(word5,'5.jpg');imwrite(word6,'6.jpg');imwrite(word7,'7.jpg');liccode=

37、char('0':'9' 'A':'Z' '蘇豫陜魯'); %建立自動識別字符代碼表 SubBw2=zeros(40,20);l=1;for I=1:7 ii=int2str(I); t=imread(ii,'.jpg'); SegBw2=imresize(t,40 20,'nearest'); if l=1 %第一位漢字識別 kmin=37; kmax=40; elseif l=2 %第二位 AZ 字母識別 kmin=11; kmax=36; else l>=3 %第三位以后

38、是字母或數字識別 kmin=1; kmax=36; end for k2=kmin:kmax fname=strcat('字符模板',liccode(k2),'.jpg'); SamBw2 = imread(fname); for i=1:40 for j=1:20 SubBw2(i,j)=SegBw2(i,j)-SamBw2(i,j); end end % 以上相當于兩幅圖相減得到第三幅圖 Dmax=0; for k1=1:40 for l1=1:20 if ( SubBw2(k1,l1) > 0 | SubBw2(k1,l1) <0 ) Dmax

39、=Dmax+1; end end end Error(k2)=Dmax; end Error1=Error(kmin:kmax); MinError=min(Error1); findc=find(Error1=MinError); l=l+1;endfigure(17),subplot(3,1,2),imshow(dw),title ('車牌號碼: 陜 A B A 2 2 3');%子程序:(getword子程序)function word,result=getword(d)word=;flag=0;y1=8;y2=0.5; while flag=0 m,n=size(d);

40、 wide=0; while sum(d(:,wide+1)=0 && wide<=n-2 wide=wide+1; end temp=qiege(imcrop(d,1 1 wide m); m1,n1=size(temp); if wide<y1 && n1/m1>y2 d(:,1:wide)=0; if sum(sum(d)=0 d=qiege(d); % 切割出最小范圍 else word=;flag=1; end else word=qiege(imcrop(d,1 1 wide m); d(:,1:wide)=0; if sum(su

41、m(d)=0; d=qiege(d);flag=1; else d=; end end end result=d; % (qiege子程序)function e=qiege(d)m,n=size(d);top=1;bottom=m;left=1;right=n; % initwhile sum(d(top,:)=0 && top<=m top=top+1;endwhile sum(d(bottom,:)=0 && bottom>1 bottom=bottom-1;endwhile sum(d(:,left)=0 && left<

42、n left=left+1;endwhile sum(d(:,right)=0 && right>=1right=right-1;enddd=right-left;hh=bottom-top;e=imcrop(d,left top dd hh);7源程序代碼:(基于c+的程序代碼)8總結本文主要解決了以下幾個問題:1.在背景的圖象中如何定位分割牌照區域;2.對分割下來的牌照字符如何提取具有分類能力的特征;3.如何設計識別器。在車輛牌照字符識別系統的研究領域,近幾年出現了許多切實可行的識別技術和方法,從這些新技術和方法中可以看到兩個明顯的趨勢:一是單一的預處理和識別技術都無法達到理想的結果,多種方法的有機結合才能使系統有效識別能力提高。在本系統的設計時,也汲取了以上一些算法的思想,結合實際,反復比較,綜合分析;二是在有效性和實用的原則下,結合神經網絡和人工智能的新技術的應用是研究的一個方向。根據車牌特點,一般采用的車牌定位算法有:1.邊緣檢測定位算法;2.利用哈夫變換進行車牌定位;3.色彩分割提取車牌等。這里我采用的是邊緣檢測的方法實現定位的。字符分割的方法也有多種:1. 基于聚類分析的字符分割;2. 投影分割的方法;3.基于模板匹配的字符分割等。最常用的是投影分割,主要是針對在車牌定

溫馨提示

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

評論

0/150

提交評論