基于Matlab的車牌識(shí)別實(shí)現(xiàn)源碼(共10頁(yè))
《基于Matlab的車牌識(shí)別實(shí)現(xiàn)源碼(共10頁(yè))》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于Matlab的車牌識(shí)別實(shí)現(xiàn)源碼(共10頁(yè))(10頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、精選優(yōu)質(zhì)文檔-----傾情為你奉上 function[]=main(jpg) close all clc tic %測(cè)定算法執(zhí)行的時(shí)間 [fn,pn]=uigetfile('timg1,jpg','選擇圖片') %讀入圖片 I=imread([pn,fn]); figure,imshow(I);title('原始圖像'); %顯示原始圖像 Im1=rgb2gray(I); figure(2), subplot(1,2,1), imshow(Im1); title('灰度圖'); figure(2), subplot(1,2,2), imhist(
2、Im1); title('灰度圖的直方圖'); %顯示圖像的直方圖 Tiao=imadjust(Im1,[0.19,0.78],[0,1]); %調(diào)整圖片 figure(3), subplot(1,2,1), imshow(Tiao);title('增強(qiáng)灰度圖'); figure(3), subplot(1,2,2), imhist(Tiao); title('增強(qiáng)灰度圖的直方圖'); Im2=edge(Tiao,'Roberts','both'); %使用sobel算子進(jìn)行邊緣檢測(cè) figure(4), imshow(Im2); title('sob
3、el算子實(shí)現(xiàn)邊緣檢測(cè)') se=[1;1;1]; Im3=imerode(Im2,se); figure(5), imshow(Im3); title('腐蝕效果圖'); se=strel('square',40);%'rectangle',[25,25]/'diamond',25/ Im4=imclose(Im3,se); figure(6), imshow(Im4); title('平滑圖像的輪廓'); Im5=bwareaopen(Im4,1500); figure(7), imshow(Im5); title('移除小對(duì)象'); [y,x,z]
4、=size(Im5); %返回Im5各維的尺寸,并存儲(chǔ)在變量y、x、z中 Im6=double(Im5); %將Im5換成雙精度數(shù)值 %開(kāi)始橫向掃描 tic %tic計(jì)時(shí)開(kāi)始,toc結(jié)束,計(jì)算tic與toc之間程序的運(yùn)行時(shí)間 Blue_y=zeros(y,1); %產(chǎn)生y*1的全0矩陣 for i=1:y %逐行掃描 for j=1:x if(Im6(i,j,1)==1)%如果Im6圖像中坐標(biāo)為(i,j)的點(diǎn)值為1,即為移除小對(duì)象的白色區(qū)域, Blue_y(i,1)= Blue_y(i,1)+1;%則y*1列矩陣的相應(yīng)像
5、素點(diǎn)的元素值加1, end end end [temp MaxY]=max(Blue_y);%temp為向量Blue_y的矩陣中的最大值,MaxY為該值的索引(最大值在向量中的位置) %返回包含最大元素的列,即白色區(qū)域最寬的列 %Y方向車牌區(qū)域確定 figure(8),subplot(1,2,1), plot(0:y-1,Blue_y),title('行方向白色像素點(diǎn)累計(jì)'),xlabel('行數(shù)'),ylabel('個(gè)數(shù)'); PY1=MaxY; while ((Blue_y(PY1,1)>=120)&&(PY1>1)) PY1
6、=PY1-1;
end
PY2=MaxY;
while ((Blue_y(PY2,1)>=40)&&(PY2 7、值確定
end
end
end
figure(8),subplot(1,2,2),
plot(0:x-1,Blue_x),title('列方向白色像素點(diǎn)累計(jì)'),xlabel('列數(shù)'),ylabel('個(gè)數(shù)');
PX1=1;
while ((Blue_x(1,PX1)<3)&&(PX1 8、校正
PX2=PX2+2;
dw=I(PY1:PY2,PX1:PX2,:);
t=toc;
figure(9),subplot(1,2,1),imshow(IY),title('垂直方向合理區(qū)域');
figure(9),subplot(1,2,2),imshow(dw),title('定位剪切后的彩色車牌圖像')
imwrite(dw,'dw.jpg'); %將圖像寫入圖形文件中
a=imread('dw.jpg');
b=rgb2gray(a);
imwrite(b,'車牌灰度圖像.jpg');
figure(10);
subplot(3,2,1),
imshow( 9、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為設(shè)定的二值化的閾值,返回一個(gè)四舍五入的整數(shù)值
[m,n]=size(b);
d=(double(b)>=T); %d為二值圖像
imwrite(d,'車牌二值圖像.jpg');
figure(10);
subplot(3,2,2),
imshow(d),
title('2.車牌二值圖像')
figure(10),
subplot(3,2,3), 10、
imshow(d),
title('3.均值濾波前')
h=fspecial('average',3);%建立預(yù)定義的濾波算子,average為均值濾波,模板尺寸為3*3
d=imbinarize(round(filter2(h,d))); %im2bw,使用指定的濾波器h對(duì)h進(jìn)行d即均值濾波
imwrite(d,'均值濾波后.jpg');
figure(10),
subplot(3,2,4),
imshow(d),
title('4.均值濾波后')
se=eye(2);%單位矩陣
[m,n]=size(d); %d為二值圖像,返回信息矩陣
if bwarea(d 11、)/m/n>=0.365%二值圖像中對(duì)象的總面積與整個(gè)面積的比大于0.365
d=imerode(d,se);%進(jìn)行腐蝕
elseif bwarea(d)/m/n<=0.235%二值圖像中對(duì)象的總面積與整個(gè)面積的比值小于0.235
d=imdilate(d,se);%進(jìn)行膨脹
end
imwrite(d,'膨脹或腐蝕處理后.jpg');
figure(10),
subplot(3,2,5),
imshow(d),
title('5.膨脹或腐蝕處理后.jpg')
d=qiege(d); %切割,尋找連續(xù)有文字的塊,若長(zhǎng)度大于某閾值,則認(rèn)為該塊有兩個(gè)字符組成 12、,需要分割
[m,n]=size(d);
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=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 13、=qiege(d);
y1=10;y2=0.25;flag=0;word1=[];
while flag==0
[m,n]=size(d);
wide=0;
while sum(d(:,wide+1))~=0 %掃過(guò)的地方不全為黑色,向右移動(dòng),直到不是停止
wide=wide+1;
end
if wide 14、se
temp=qiege(imcrop(d,[1 1 wide m]));%返回已經(jīng)切割好的區(qū)域
[m,n]=size(temp);
all=sum(sum(temp));%統(tǒng)計(jì)切割區(qū)域所有元素
two_thirds=sum(sum(temp([round(m/3):2*round(m/3)],:)));%統(tǒng)計(jì)切割區(qū)域1/3至2/3行所有元素
if two_thirds/all>y2
flag=1;word1=temp;
end
d(:,[1 15、:wide])=0;d=qiege(d);
end
end
[word2,d]=getword(d); %分割出第二個(gè)字符
[word3,d]=getword(d); %分割出第三個(gè)字符
[word4,d]=getword(d); %分割出第四個(gè)字符
[word5,d]=getword(d); %分割出第五個(gè)字符
[word6,d]=getword(d); %分割出第六個(gè)字符
[word7,d]=getword(d); %分割出第七個(gè)字符
word1=imresize(word1,[40 20]);%模板字符大小統(tǒng)一為40*20,為字符辨認(rèn)做準(zhǔn)備
word2=i 16、mresize(word2,[40 20]);
word3=imresize(word3,[40 20]);
word4=imresize(word4,[40 20]);
word5=imresize(word5,[40 20]);
word6=imresize(word6,[40 20]);
word7=imresize(word7,[40 20]);
figure(11);
subplot(2,7,1),imshow(word1),title('1');
subplot(2,7,2),imshow(word2),title('2');
subplot(2,7,3),ims 17、how(word3),title('3');
subplot(2,7,4),imshow(word4),title('4');
subplot(2,7,5),imshow(word5),title('5');
subplot(2,7,6),imshow(word6),title('6');
subplot(2,7,7),imshow(word7),title('7');
imwrite(word1,'1.jpg');
imwrite(word2,'2.jpg');
imwrite(word3,'3.jpg');
imwrite(word4,'4.jpg');
imwrite( 18、word5,'5.jpg');
imwrite(word6,'6.jpg');
imwrite(word7,'7.jpg');
liccode=char(['0':'9' 'A':'Z' '遼粵豫鄂魯陜京津蘇浙']);
%建立自動(dòng)識(shí)別字符代碼表,將t'0':'9' 'A':'Z' '魯陜蘇豫'多個(gè)字符串組成一個(gè)字符數(shù)組,每行對(duì)應(yīng)一個(gè)字符串,字符數(shù)不足的自動(dòng)補(bǔ)空格
SubBw2=zeros(40,20);%40*20的零矩陣
l=1;
for I=1:7
ii=int2str(I);%整型轉(zhuǎn)換字符串
t=imread([ii,'.jpg']);
S 19、egBw2=imresize(t,[40 20],'nearest');%改變圖片的大小
SegBw2=double(SegBw2)>50;%將灰度圖轉(zhuǎn)化為二值圖像,double產(chǎn)生0-255的灰度值
if l==1 %第一位漢字識(shí)別
kmin=37;
kmax=46;%模板中漢字所在的位置
elseif l==2 %第二位字母識(shí)別
kmin=11;
kmax=36;%A-Z字母位置
else
l>=3 %第三位后字母或數(shù)字識(shí)別
kmin=1; 20、
kmax=36;
end
for k2=kmin:kmax
fname=strcat('字符模板\',liccode(k2),'.jpg');
SamBw2=imread(fname);
SamBw2=double(SamBw2)>50;%將模板轉(zhuǎn)換為二值圖,double產(chǎn)生0-255的灰度值
for i=1:40
for j=1:20
SubBw2(i,j)=SegBw2(i,j)-SamBw2(i,j);
21、 end
end
%相當(dāng)于兩幅圖相減得第三幅圖
Dmax=0;
for k1=1:40
for l1=1:20
if abs(SubBw2(k1,l1))>0
Dmax=Dmax+1;
end
end
end
Error(k2)=Dmax;
end
Error1=Error(kmin:kmax);% 22、模板對(duì)應(yīng)的字符模板進(jìn)行匹配選擇
MinError=min(Error1);
findc=find(Error1==MinError);
Code(l*2-1)=liccode(findc(1)+kmin-1);
Code(l*2)=' ';
l=l+1;
end
msgbox(Code,'識(shí)別結(jié)果')
function [word,result]=getword(d) %定義分割字符用函數(shù)(1)
word=[];flag=0;y1=8;y2=0.5;
while flag==0
[m,n]=size(d);
w 23、ide=0;
while sum(d(:,wide+1))~=0 && wide<=n-2
wide=wide+1;
end
temp=imcrop(d,[1 1 wide m]);%用于返回圖像的一個(gè)裁剪區(qū)域
[m1,n1]=size(temp);
z=sum(temp,2);count=0;
for i=1:m1
if z(i)~=0
count=count+1;
end
end
if count 24、,[1,wide])=0;
d=qiege(d);
else
temp=qiege(imcrop(d,[1 1 wide m]));%用于返回圖像的一個(gè)裁剪區(qū)域
[m1,n1]=size(temp);
if wide 25、 word=[];flag=1;
end
else
word=qiege(imcrop(d,[1 1 wide m]));%劃分出的temp進(jìn)行切割
d(:,[1:wide])=0;%切割完后該區(qū)域變?yōu)楹谏?
if sum(sum(d))~=0
d=qiege(d);flag=1;
else
d=[];
end
end
end
en 26、d
result=d;
function e=qiege(d) %定義分割字符用函數(shù)(2)
[m,n]=size(d);
top=1;bottom=m;left=1;right=n; %inte
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]);
//字符實(shí)別需要字符圖庫(kù),沒(méi)有對(duì)照?qǐng)D庫(kù)是識(shí)別不了的
專心---專注---專業(yè)
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 市教育局冬季運(yùn)動(dòng)會(huì)安全工作預(yù)案
- 2024年秋季《思想道德與法治》大作業(yè)及答案3套試卷
- 2024年教師年度考核表個(gè)人工作總結(jié)(可編輯)
- 2024年xx村兩委涉案資金退還保證書
- 2024年憲法宣傳周活動(dòng)總結(jié)+在機(jī)關(guān)“弘揚(yáng)憲法精神推動(dòng)發(fā)改工作高質(zhì)量發(fā)展”專題宣講報(bào)告會(huì)上的講話
- 2024年XX村合作社年報(bào)總結(jié)
- 2024-2025年秋季第一學(xué)期初中歷史上冊(cè)教研組工作總結(jié)
- 2024年小學(xué)高級(jí)教師年終工作總結(jié)匯報(bào)
- 2024-2025年秋季第一學(xué)期初中物理上冊(cè)教研組工作總結(jié)
- 2024年xx鎮(zhèn)交通年度總結(jié)
- 2024-2025年秋季第一學(xué)期小學(xué)語(yǔ)文教師工作總結(jié)
- 2024年XX村陳規(guī)陋習(xí)整治報(bào)告
- 2025年學(xué)校元旦迎新盛典活動(dòng)策劃方案
- 2024年學(xué)校周邊安全隱患自查報(bào)告
- 2024年XX鎮(zhèn)農(nóng)村規(guī)劃管控述職報(bào)告