目 錄
一. 課程設(shè)計任務(wù)11
二. 課程設(shè)計原理及設(shè)計方案22
1.系統(tǒng)簡述22
2.圖像預(yù)處理33
2.1灰度變換33
2.2邊緣提取44
3.車牌定位55
4.字符分割55
5.字符識別66
三. 課程設(shè)計的步驟和結(jié)果88
四. 設(shè)計總結(jié)2222
五. 設(shè)計體會2323
六. 參考文獻(xiàn)2424
-
課程設(shè)計任務(wù)
在交通管理過程中,通常采用視頻監(jiān)控方式對闖紅燈和超速等違章車輛進(jìn)行監(jiān)督。對違章車輛,需要自動檢測車牌信息,提取車牌號碼,以便查找車主信息和監(jiān)督管理。國內(nèi)常用的一般車牌通常是是藍(lán)底白字,長寬比3:1。
1、對車牌圖像進(jìn)行預(yù)處理,然后進(jìn)行車牌定位;
2、進(jìn)行字符分割;
2、對車牌中的數(shù)字、字母和漢字進(jìn)行提取和識別;
3、要求自行設(shè)計方案、編寫代碼實現(xiàn)上述功能,并設(shè)計車牌識別的軟件界面。 -
課程設(shè)計原理及設(shè)計方案
1.系統(tǒng)簡述
一個完整的車牌識別系統(tǒng)閉應(yīng)包括車輛檢測、圖像采集、圖像預(yù)處理、車牌定位、字符分割、字符識別等單元。當(dāng)車輛到達(dá)觸發(fā)圖像采集單元時,系統(tǒng)采集當(dāng)前的視頻圖像。車輛識別單元對圖像進(jìn)行處理,定位出牌照位置,再將車牌中的字符分割出來進(jìn)行識別,然后組成車牌號碼輸出。車牌識別系統(tǒng)原理如圖l所示。
(1)圖像預(yù)處理:對汽車圖像進(jìn)行圖像轉(zhuǎn)換、圖像增強(qiáng)和邊緣檢測等。
(2)車牌定位:從預(yù)處理后的汽車圖像中分割出車牌圖像。即在一幅車輛圖像中找到車牌所在的位置。
(3)字符分割:對車牌圖像進(jìn)行幾何校正、去噪、二值化以及字符分割以從車牌圖像中分離出組成車牌號碼的單個字符圖像
(4)字符識別:對分割出來的字符進(jìn)行預(yù)處理(二值化、歸一化),然后分析提取,對分割出的字符圖像進(jìn)行識別給出文本形式的車牌號碼。
為了用于牌照的分割和牌照字符的識別,原始圖象應(yīng)具有適當(dāng)?shù)牧炼?,較大的對比度和清晰可辯的牌照圖象。但由于該系統(tǒng)的攝像部分工作于開放的戶外環(huán)境,加之車輛牌照的整潔度、自然光照條件、拍攝時攝像機(jī)與牌照的矩離和角度以及車輛行駛速度等因素的影響,牌照圖象可能出現(xiàn)模糊、歪斜和缺損等嚴(yán)重缺陷,因此需要對原始圖象進(jìn)行識別前的預(yù)處理。
牌照的定位和分割是牌照識別系統(tǒng)的關(guān)鍵技術(shù)之一,其主要目的是在經(jīng)圖象預(yù)處理后的原始灰度圖象中確定牌照的具體位置,并將包含牌照字符的一塊子圖象從整個圖象中分割出來,供字符識別子系統(tǒng)識別之用,分割的準(zhǔn)確與否直接關(guān)系到整個牌照字符識別系統(tǒng)的識別率。
由于拍攝時的光照條件、牌照的整潔程度的影響,和攝像機(jī)的焦距調(diào)整、鏡頭的光學(xué)畸變所產(chǎn)生的噪聲都會不同程度地造成牌照字符的邊界模糊、細(xì)節(jié)不清、筆劃斷開或粗細(xì)不均,加上牌照上的污斑等缺陷,致使字符提取困難,進(jìn)而影響字符識別的準(zhǔn)確性。因此,需要對字符在識別之前再進(jìn)行一次針對性的處理。
車牌識別的最終目的就是對車牌上的文字進(jìn)行識別。識別方法目前主要有基于模板匹配算法和基于人工神經(jīng)網(wǎng)絡(luò)算法。
2.圖像預(yù)處理
圖2 預(yù)處理及邊緣提取流程圖
2.1灰度變換
輸入的彩色圖像包含大量顏色信息,會占用較多的存儲空間,且處理時也會降低系統(tǒng)的執(zhí)行速度,因此對圖像進(jìn)行識別等處理時.常將彩色圖像轉(zhuǎn)換為灰度圖像,以加快處理速度??蓪D像進(jìn)行灰度化處理、提取背景圖像、增強(qiáng)處理、圖像二值化,邊緣檢測、濾波等處理。然后采用robert算子進(jìn)行邊緣檢測,再用imopen和imclose對所得二值圖像作開、閉操作進(jìn)行濾波。
彩色圖像分為R、G、B三個分量,分別顯示出紅、綠、藍(lán)等各種顏色,灰度化就是使彩色的R、G、B 分量相等的過程?;叶戎荡蟮南袼攸c比較亮(像素值最大為255,為白色) ,反之比較暗(像素值最小為 0,是黑色) 。
圖像灰度化的算法主要有以下 3 種:
1)最大值法:使轉(zhuǎn)化后R、G、B的值等于轉(zhuǎn)化前 3 個值中最大的一個,即:R=G=B=max(R,G,B),這種方法轉(zhuǎn)換的灰度圖亮度很高。
2)平均值法:使轉(zhuǎn)化后R、G、B的值為轉(zhuǎn)化前R、G、B的平均值 R=G=B=(R+G+B)/3 這種方法產(chǎn)生的灰度圖像比較柔和。
3)加權(quán)平均值法:按照一定的權(quán)值,對R、G、B的值加權(quán)平均。
2.2邊緣提取
數(shù)字圖像的邊緣檢測是圖像分割、目標(biāo)區(qū)域的識別、區(qū)域形狀提取等圖像分析領(lǐng)域十分重要的基礎(chǔ)。邊緣是圖像的重要特征,圖像理解和分析的第一步往往就是邊緣檢測。目前,邊緣檢測已成為計算機(jī)視覺研究領(lǐng)域最活躍的課題之一,在工程應(yīng)用中占有十分重要的地位。車牌的一個重要特征就是在該區(qū)域存在大量的邊緣信息,所以邊緣檢測對于我們進(jìn)行車牌識別來說也是相當(dāng)重要的。
邊緣是以圖像的局部特征不連續(xù)的形式出現(xiàn)的,也就是指圖像局部亮度變化最顯著的部分,如灰度值的突變、顏色的突變、紋理結(jié)構(gòu)的突變等,同時邊緣也是不同區(qū)域的分界處。圖像邊緣有方向和幅度兩個特性,通常沿邊緣的走向灰度變化平緩,垂直于邊緣走向灰度變化劇烈。由于邊緣是圖像上灰度變化最劇烈的地方,傳統(tǒng)的邊緣檢測就利用這個特點,通過計算圖像中像素的梯度值來確定邊緣點。
常用的圖像邊緣提取算子有Roberts算子、sobel算子、Prewitt算子、Laplacian算子等,它們的模板分別如下:- Roberts梯度算子:
- Roberts梯度算子:

-
- Sobel算子:
- Sobel算子:

-
- Prewitc算子:
- Prewitc算子:

-
- Laplacian算子:
- Laplacian算子:

3.車牌定位
自然環(huán)境下,汽車圖像背景復(fù)雜,光照不均勻,在自然背景中準(zhǔn)確地確定牌照區(qū)域是整個圖像識別過程中的關(guān)鍵。首先對采集到的圖像進(jìn)行大范圍相關(guān)搜索,找到符合汽車牌照特征的若干區(qū)域作為候選區(qū),然后對這些侯選區(qū)域做進(jìn)一步分析、評判,最后選定一個最佳區(qū)域作為牌照區(qū)域。將其從圖像中分割嘲出來,同時要考慮車牌傾斜問題。算法流程如下:
(1)對二值圖像進(jìn)行區(qū)域提取。計算并比較區(qū)域特征參數(shù),提取車牌區(qū)域。進(jìn)行閉運(yùn)算,可使得水平相鄰的邊緣連接成為連通區(qū)域;進(jìn)行開運(yùn)算可使得車牌區(qū)域與其它背景區(qū)域分開,成為獨(dú)立的連通域。
(2)計算包含所標(biāo)記區(qū)域的最小寬和高。并根據(jù)先前知識,提取并顯示更接近的車牌二子值圖。
(3)通過計算車牌旋轉(zhuǎn)角度解決車牌傾斜問題。由于車牌傾斜導(dǎo)致投影效果峰谷不明顯,需車牌矯正處理,采取線性擬合方法,計算出車牌上邊或下邊圖像值為1的點擬合直線與水平X軸的夾角。
4.字符分割
完成牌照區(qū)域的定位后,再將牌照區(qū)域分割為單個字符,可采用垂直投影法。由于字符在垂直方向上的投影必然在字符間或字符內(nèi)的間隙處取得局部最小值.并且該位置應(yīng)滿足牌照的字符書寫格式、字符、尺寸限制等條件。利用垂直投影法實現(xiàn)復(fù)雜環(huán)境下汽車圖像中的字符分割效果較好。
通過分析計算字符的水平投影和垂直投影,可獲得車牌字符高度、字符頂行與尾行、字符寬度、每個字符的中心位置,以方便提取分割字符。然后計算車牌垂直投影,去掉車牌垂直邊框,獲取車牌及字符平均寬度。最后計算車牌每個字符的中心位置和最大字符寬度,提取分割字符,其算法流程如圖3所示。

圖3車牌分割的MATLAB算法流程
此處采用的方法為尋找連續(xù)有文字的塊,若長度大于某閾值,則認(rèn)為該塊有兩個字符組成,需要分割。算法如下:
5.字符識別
字符識別方法主要有基于模板匹配算法和基于人工神經(jīng)網(wǎng)絡(luò)算法?;谀0迤ヅ渌惴ㄊ鞘紫葘⒎指詈蟮淖址祷⑵涑叽缈s放為字符數(shù)據(jù)庫中模板的大小,然后與所有模板進(jìn)行匹配,最后選取最佳匹配作為結(jié)果。建立數(shù)字庫對該方法在車牌識別過程中很重要,數(shù)字庫準(zhǔn)確才能保證檢測出的數(shù)據(jù)正確。基于人工神經(jīng)元網(wǎng)絡(luò)的算法有兩種,一種是先對特征提取待識別字符,然后用所獲得的特征訓(xùn)練神經(jīng)網(wǎng)絡(luò)分配器;另一種是直接將待處理圖像輸入網(wǎng)絡(luò)由網(wǎng)絡(luò)自動實現(xiàn)特征提取直至識別結(jié)果。模板匹配實現(xiàn)簡單,當(dāng)字符較規(guī)整時,對字符圖像的缺損、污跡干擾適應(yīng)力強(qiáng)且識別率高。因此,這里將模板匹配作為車牌字符識別的主要方法。
模板匹配是圖象識別方法中最具代表性的基本方法之一,它是將從待識別的圖象或圖象區(qū)域f(i,j)中提取的若干特征量與模板T(i,j)相應(yīng)的特征量逐個進(jìn)行比較,計算它們之間規(guī)格化的互相關(guān)量,其中互相關(guān)量最大的一個就表示期間相似程度最高,可將圖象歸于相應(yīng)的類。也可以計算圖象與模板特征量之間的距離,用最小距離法判定所屬類。然而,通常情況下用于匹配的圖象各自的成像條件存在差異,產(chǎn)生較大的噪聲干擾,或圖象經(jīng)預(yù)處理和規(guī)格化處理后,使得圖象的灰度或像素點的位置發(fā)生改變。在實際設(shè)計模板的時候,是根據(jù)各區(qū)域形狀固有的特點,突出各類似區(qū)域之間的差別,并將容易由處理過程引起的噪聲和位移等因素都考慮進(jìn)去,按照一些基于圖象不變特性所設(shè)計的特征量來構(gòu)建模板,就可以避免上述問題。
- 課程設(shè)計的步驟和結(jié)果
此處以車牌1作為示例圖像
-
獲取圖像
[fn,pn,fi]=uigetfile('*.bmp','選擇圖片');
Scolor=imread([pn fn]);
-
圖像灰度化
Sgray = rgb2gray(Scolor);%rgb2gray轉(zhuǎn)換成灰度圖
-
圖像增強(qiáng)
s=strel('disk',13);%strei函數(shù)13
Bgray=imopen(Sgray,s);%打開sgray s圖像
Egray=imsubtract(Sgray,Bgray);%兩幅圖相減
-
邊緣提取
圖像中車輛牌照是具有比較顯著特征的一塊圖象區(qū)域,這此特征表現(xiàn)在:近似水平的矩形區(qū)域;其中字符串都是按水平方向排列的;在整體圖象中的位置較為固定。正是由于牌照圖象的這些特點,再經(jīng)過適當(dāng)?shù)膱D象變換,它在整幅中可以明顯地呈現(xiàn)出其邊緣。邊緣提取是較經(jīng)典的算法,此處邊緣的提取采用的是Roberts算子。
grd=edge(Egray,'robert',0.09,'both');
se=[1;1;1]; %線型結(jié)構(gòu)元素
I3=imerode(grd,se); %腐蝕圖像
-
開閉運(yùn)算進(jìn)行濾波
牌照圖象經(jīng)過了以上的處理后,牌照區(qū)域已經(jīng)十分明顯,而且其邊緣得到了勾勒和加強(qiáng)。此時可進(jìn)一步確定牌照在整幅圖象中的準(zhǔn)確位置。這里選用數(shù)學(xué)形態(tài)學(xué)的方法,基本思想是用具有一定形態(tài)的機(jī)構(gòu)元素去量度和提取圖像中的對應(yīng)形狀以達(dá)到對圖像分析和識別的目的。數(shù)學(xué)形態(tài)學(xué)的應(yīng)用可以簡化圖像數(shù)據(jù),保持它們基本的形態(tài)特征,并除去不相干的結(jié)構(gòu)。在本程序中用到了開閉兩個基本運(yùn)算,最后還用了bwareaopen來去除對象中不相干的小對象。
bg1=imclose(I3,strel('rectangle',[8,18]));%取矩形框的閉運(yùn)算即平滑8,18
bg3=imopen(bg1,strel('rectangle',[8,14]));%取矩形框的開運(yùn)算8,18
bg2=bwareaopen(bg3,700);%去除聚團(tuán)灰度值小于700的部分
-
%繪制列曲線圖
X1=zeros(1,x);% 累計列像素灰度值
for j=1:x
for i=PY1:PY2
if(I6(i,j,1)==1)
X1(1,j)= X1(1,j)+1;
end
end
end
PX1=1;
while ((X1(1,PX1)<3)&&(PX1<x))
PX1=PX1+1;
end
PX2=x;
DW=Scolor(PY1:PY2,PX1:PX2,:);%車牌定位后圖像
-
進(jìn)一步車牌定位
經(jīng)過上述方法分割出來的車牌圖像中存在目標(biāo)物體、背景還有噪聲,要想從圖像中直接提取出目標(biāo)物體,最常用的方法就是設(shè)定一個閾值T,用T將圖像的數(shù)據(jù)分成兩部分:大于T的像素群和小于T的像素群,即對圖像二值化。然后通過行像素點的累計值去除頂端和底端不感興趣的地方。
if isrgb(DW)
I1 = rgb2gray(DW); %將RGB圖像轉(zhuǎn)化為灰度圖像
else I1=DW;
end
g_max=double(max(max(I1)));
g_min=double(min(min(I1)));
T=round(g_max-(g_max-g_min)/3); % T 為二值化的閾值
[m,n]=size(I1);% d:二值圖像
imane_bw=im2bw(I1,T/256); %二值化車牌圖像
[y1,x1,z1]=size(imane_bw);
I3=double(imane_bw);
TT=1;
%%%%%%%去除圖像頂端和底端的不感興趣區(qū)域%%%%%
Y1=zeros(y1,1);
for i=1:y1
for j=1:x1
if(I3(i,j,1)==1)
Y1(i,1)= Y1(i,1)+1 ;
end
end
end
Py1=1;Py0=1;
while ((Y1(Py0,1)<9)&&(Py0<y1))
Py0=Py0+1;
end
Py1=Py0;
while((Y1(Py1,1)>=9)&&(Py1<y1))
Py1=Py1+1;
end
I2=imane_bw(Py0:Py1,:,:); %目標(biāo)車牌區(qū)域
-
車牌字符分割
字符分割的算法很多,因為車牌字符間間隔較大,通常不會出現(xiàn)字符粘連情況,所以此處采用的方法為尋找連續(xù)有文字的塊,若長度大于某閾值,則認(rèn)為該塊有兩個字符組成,需要分割。一般分割出來的字符要進(jìn)行進(jìn)一步的處理,以滿足下一步字符識別的需要。但是對于車牌的識別,并不需要太多的處理就已經(jīng)可以達(dá)到正確識別的目的。在此只進(jìn)行了歸一化處理,然后進(jìn)行后期處理。
% 尋找連續(xù)有文字的塊,若長度大于某閾值,則認(rèn)為該塊有兩個字符組成,需要分割
while j~=n
while s(j)==0
j=j+1;
end
k1=j;
while s(j)~=0 && j<=n-1
j=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; % 分割
end
end
% 再切割
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 % 認(rèn)為是左側(cè)干擾
d(:,[1:wide])=0;
d=qiege(d);
else
temp=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);
end
end
[word2,d]=getword(d);% 分割出第二個字符
[word3,d]=getword(d); % 分割出第三個字符
[word4,d]=getword(d); % 分割出第四個字符
[word5,d]=getword(d); % 分割出第五個字符
[word6,d]=getword(d); % 分割出第六個字符
[word7,d]=getword(d); % 分割出第七個字符
[m,n]=size(word1);
imwrite(word1,'1.jpg');
……
imwrite(word7,'7.jpg');

-
車牌字符識別
此處采用相減的方法來求得字符與模板中哪一個字符最相似,然后找到相似度最大的輸出。汽車牌照的字符一般有七個,大部分車牌第一位是漢字,通常代表車輛所屬省份,緊接其后的為字母與數(shù)字。車牌字符識別與一般文字識別在于它的字符數(shù)有限,漢字共約30多個,大寫英文字母26個,數(shù)字10個。
首先取字符模板,接著依次取待識別字符與模板進(jìn)行匹配,將其與模板字符相減,得到的非0值越少那么就越匹配。把每一幅相減后的圖的非0值個數(shù)保存,即為識別出來的結(jié)果。
源程序:
liccode=char(['0':'9' 'A':'Z' '藏川甘贛貴桂黑滬吉濟(jì)冀津晉京警蘭遼領(lǐng)魯蒙閩寧青瓊陜使蘇皖湘新學(xué)渝豫粵云浙']); %建立自動識別字符代碼表
tt=1;
l=1;
for I=1:7
ii=int2str(I);
t=imread([ii,'.jpg']);
t=255-t;
level=graythresh(t);
t=im2bw(t,level);
SegBw2=imresize(t,[22 14],'nearest');
if tt==1 %第一位漢字識別
kmin=37;
kmax=72;
t=~t;
SegBw2=imresize(t,[22 14],'nearest');
elseif tt==2 %第二位 A~Z 字母識別
kmin=11;
kmax=36;
else %第三位以后是字母或數(shù)字識別
kmin=1;
kmax=36;
end
for k2=kmin:kmax
fname=strcat('code module\Sam',liccode(k2),'.jpg');
SamBw22 = imread(fname);
SamBw22 = rgb2gray(SamBw22);
SamBw2=imresize(SamBw22,[22 14],'nearest');
level=graythresh(SamBw2);
SamBw2=im2bw(SamBw2,level);
for i=1:22
for j=1:14
SubBw2(i,j)=SegBw2(i,j)-SamBw2(i,j);
end
end
% 以上相當(dāng)于兩幅圖相減得到第三幅圖
Dmax=0;
for k1=1:22
for l1=1:14
if ( SubBw2(k1,l1) > 0 || SubBw2(k1,l1) <0 )
Dmax=Dmax+1;
end
end
end
Error(k2)=Dmax;
end
Error1=Error(kmin:kmax);
MinError=min(Error1);
findc=find(Error1==MinError);
if tt==1
findc=findc+36;
end
if tt==2
findc=findc+10;
end
tt=tt+1;
res=liccode(findc);
shibiejieguo(1,l)=res;
l=l+1;
end
%%%getword子函數(shù)為:
function [word,result]=getword(d)
word=[];flag=0;y1=8;y2=0.5;
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(sum(d))~=0;
d=qiege(d);flag=1;
else d=[];
end
end
end
result=d;
%%%qiege子函數(shù)為:
function e=qiege(d)
[m,n]=size(d);
top=1;bottom=m;left=1;right=n; % init
while sum(d(top,:))==0 && top<=m
top=top+1;
end
while sum(d(bottom,:))==0 && bottom>1
bottom=bottom-1;
end
while sum(d(:,left))==0 && left<n
left=left+1;
end
while sum(d(:,right))==0 && right>=1
right=right-1;
end
dd=right-left;
hh=bottom-top;
e=imcrop(d,[left top dd hh]);
得出車牌檢測結(jié)果為:陜A906L4 -
對話框顯示及語音朗讀
msgbox(shibiejieguo,'識別結(jié)果');
duchushengyin(shibiejieguo);

%%%%duchushengyin子函數(shù)為:
function shengyin=duchushengyin(shibiejieguo)
wavplay(wavread('audio\車牌檢測.wav'),44000);
for i=1:7
if shibiejieguo(1,i)=='桂'
wavplay(wavread('audio\桂.wav'),44000);
elseif shibiejieguo(1,i)=='陜'
wavplay(wavread('audio\陜.wav'),44000);
……
elseif shibiejieguo(1,i)=='A'
wavplay(wavread('audio\A.wav'),44000);
……
elseif shibiejieguo(1,i)=='0'
wavplay(wavread('audio\0.wav'),44000);
……
elseif shibiejieguo(1,i)=='9'
wavplay(wavread('audio\9.wav'),44000);
end
end
wavplay(wavread('audio\車牌檢測完畢.wav'),44000);
- 設(shè)計GUI界面
界面設(shè)計如下:

界面可顯示車輛的原始圖像,車牌定位圖像,進(jìn)一步定位的車牌區(qū)域,車牌字符分割后的結(jié)果以及車牌的識別結(jié)果。瀏覽文件按鈕可在文件夾中選擇要處理的圖片,然后按下確認(rèn)按鈕,開始處理,按下結(jié)束后,所有圖片及字符顯示均清除。
-
設(shè)計總結(jié)
本文主要解決了以下問題:1、在背景的圖象中如何定位牌照2、將定位的牌照區(qū)域中的字符分割;3、對分割下來的牌照字符提取具有分類能力的特征,并對漢字、字母及數(shù)字均進(jìn)行識別。在車輛牌照字符識別系統(tǒng)的研究領(lǐng)域,近幾年出現(xiàn)了許多切實可行的識別技術(shù)和方法,從這些新技術(shù)和方法中可以看到:單一的預(yù)處理和識別技術(shù)都無法達(dá)到理想的結(jié)果,多種方法的有機(jī)結(jié)合才能使系統(tǒng)有效識別能力提高。在本系統(tǒng)的設(shè)計時,也汲取了以上一些算法的思想,結(jié)合實際,反復(fù)比較,綜合分析。
根據(jù)車牌特點,一般采用的車牌定位算法有:1.邊緣檢測定位算法;2.利用哈夫變換進(jìn)行車牌定位;3.色彩分割提取車牌等。這里我采用的是邊緣檢測的方法實現(xiàn)定位的。
字符分割的方法也有多種:1. 基于聚類分析的字符分割;2. 投影分割的方法;3.基于模板匹配的字符分割等。最常用的是投影分割,主要是針對在車牌定位,圖像預(yù)處理后比較規(guī)則的車牌圖像。優(yōu)點是程序邏輯設(shè)計簡單,循環(huán)執(zhí)行功能單一,便于設(shè)計和操作,程序執(zhí)行時間短。
字符識別的基本方法通常有三類:1.結(jié)構(gòu)特征分析方法;2.模板匹配法;3.神經(jīng)網(wǎng)絡(luò)法。此處采用的是模板匹配的方法,即是將要識別的字符與事先構(gòu)造好的模板進(jìn)行比對,根據(jù)與模板的相似度的大小來確定最終的識別結(jié)果。
但是系統(tǒng)本身還存在許多不足,距離具體實用的要求仍有很大差距,但我卻在這次課程設(shè)計中學(xué)到了很多知識。 -
設(shè)計體會
通過這次設(shè)計使我明白了自己原來的數(shù)字圖像處理知識還比較欠缺,這個設(shè)計讓我學(xué)到了很多東西,在這整個過程中我遇到了很多困難,查閱了大量的資料,也得到了老師和同學(xué)的幫助,才逐步將一個個困難克服。其中,讓我困擾很長時間的便是許多參數(shù)的選取。在圖像的預(yù)處理階段,開閉運(yùn)算的矩陣選取,根據(jù)行列累計像素灰度值定位車牌的閾值選取以及車牌分割的參數(shù)等都需要多次的嘗試與總結(jié)才可以找到適合多幅圖像的合適的值。另外,字符識別的過程中模板的選取很關(guān)鍵,由于我檢測出來的車牌是黑底白字的,而我所使用的模板是白底黑字的,曾一度檢測錯誤,后來才發(fā)現(xiàn)這個問題,經(jīng)過二值變換之后取反再比較,可以得到正確的識別字符。中間也更換過幾次模板,要選取與車牌數(shù)字最接近的模板,否則很容易識別錯誤。
總之,理論只有應(yīng)用到實際中才能學(xué)著更有意義。學(xué)習(xí)是一個長期積累的過程,在后的工作、生活中都應(yīng)該不斷的學(xué)習(xí),努力提高自己知識和綜合素質(zhì)。此次設(shè)計也大大提高了我的動手能力,使我充分體會到了在創(chuàng)造過程中探索的艱難和成功時的喜悅。雖然這個設(shè)計目前實現(xiàn)了少數(shù)的車輛牌照識別,但是在設(shè)計過程中所學(xué)到的學(xué)習(xí)方法是我最大收獲和財富,相信定會使我受益終身。 - 參考文獻(xiàn)
1 王剛,冀小平. 基于MATLAB的車牌識別系統(tǒng)的研究.電子設(shè)計工程,2009.17(11):72-73
2 岡薩雷斯.?dāng)?shù)字圖像處理(第二版).電子工業(yè)出版社,2007.8
3 宋建才.汽車牌照識別技術(shù)研究叨.工業(yè)控制計算機(jī),2004(4):44—45.
4 陳永超. 基于數(shù)字圖像處理的車牌識別研究.武漢理工大學(xué)碩士學(xué)位論文. 2006:16-19
5 王璐. 基于 MATLAB的車牌識別系統(tǒng)研究.上海交通大學(xué)碩士學(xué)位論文. 2009:15-27
6 張 引,潘云鶴.面向車輛牌照字符識別的預(yù)處理算法.計算機(jī)應(yīng)用研究,1999(7):85~87文章來源:http://www.zghlxwxcb.cn/news/detail-452265.html
7 郁梅等.基于視覺的車輛牌照檢測.計算機(jī)應(yīng)用研究.1999(5):65~67文章來源地址http://www.zghlxwxcb.cn/news/detail-452265.html
到了這里,關(guān)于MATLAB車牌識別技術(shù)實現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!