matlab车牌识别程序代码Word格式文档下载.docx
《matlab车牌识别程序代码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《matlab车牌识别程序代码Word格式文档下载.docx(36页珍藏版)》请在冰豆网上搜索。
![matlab车牌识别程序代码Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2022-10/12/f238e642-6743-4980-8a5b-cd6b0fdafb67/f238e642-6743-4980-8a5b-cd6b0fdafb671.gif)
imshow(I);
title('
原始图像'
%显示原始图像
chepailujing=[pnfn]
I_bai=I;
[PY2,PY1,PX2,PX1]=caitu_fenge(I);
%I=rgb2hsv(I);
%[PY2,PY1,PX2,PX1]=caitu_tiqu(I,I_bai);
%用HSI模型识别蓝色,用rgb模型识别白色
%================分割车牌区域=================================
%===============车牌区域根据面积二次修正======================
[PY2,PY1,PX2,PX1,threshold]=SEC_xiuzheng(PY2,PY1,PX2,PX1);
%==============更新图片=============================
Plate=I_bai(PY1:
PY2,PX1:
PX2,:
%使用caitu_tiqu
%==============考虑用腐蚀解决蓝色车问题=============
bw=Plate;
figure,imshow(bw);
车牌图像'
%hsv彩图提取图像
%==============这里要根据图像的倾斜度进展选择这里选择的图片.jpg
bw=rgb2gray(bw);
灰度图像'
%================倾斜校正======================
qingxiejiao=rando_bianhuan(bw)
bw=imrotate(bw,qingxiejiao,'
bilinear'
crop'
倾斜校正'
%取值为负值向右旋转
%==============================================
bw=im2bw(bw,graythresh(bw));
%figure,imshow(bw);
bw=bwmorph(bw,'
hbreak'
inf);
spur'
擦除之前'
open'
5);
闭合运算'
bw=bwareaopen(bw,threshold);
擦除'
%==================参加进度条================================
%h=waitbar(0,'
程序运行中,请稍等......'
)
%fori=1:
10000
%waitbar(i/5000,h)
%end
%close(h);
%wavplay(wavread('
程序运行中.wav'
),22000);
bw=~bw;
擦除反色'
%=============对图像进一步裁剪,保证边框贴近字体===========
bw=touying(bw);
imshow(bw);
Y方向处理'
二次擦除'
[y,x]=size(bw);
%对长宽重新赋值
%=================文字分割=================================
fenge=shuzifenge(bw,qingxiejiao)
[m,k]=size(fenge);
%=================显示分割图像结果=========================
fors=1:
2:
k-1
subplot(1,k/2,(s+1)/2);
imshow(bw(1:
y,fenge(s):
fenge(s+1)));
end
%================给七图片定位===============桂AV6388
han_zi=bw(1:
y,fenge
(1):
fenge
(2));
zi_mu=bw(1:
y,fenge(3):
fenge(4));
zm_sz_1=bw(1:
y,fenge(5):
fenge(6));
zm_sz_2=bw(1:
y,fenge(7):
fenge(8));
shuzi_1=bw(1:
y,fenge(9):
fenge(10));
shuzi_2=bw(1:
y,fenge(11):
fenge(12));
shuzi_3=bw(1:
y,fenge(13):
fenge(14));
%==========================识别====================================
%======================把修正数据读入==============================
xiuzhenghanzi=imresize(han_zi,[11055],'
xiuzhengzimu=imresize(zi_mu,[11055],'
xiuzhengzm_sz_1=imresize(zm_sz_1,[11055],'
xiuzhengzm_sz_2=imresize(zm_sz_2,[11055],'
xiuzhengshuzi_1=imresize(shuzi_1,[11055],'
xiuzhengshuzi_2=imresize(shuzi_2,[11055],'
xiuzhengshuzi_3=imresize(shuzi_3,[11055],'
%============把0-9,A-Z以与省份简称的数据存储方便访问====================
hanzishengfen=duquhanzi(imread('
cpgui.bmp'
),imread('
cpguizhou.bmp'
cpjing.bmp'
cpsu.bmp'
cpyue.bmp'
));
%因数字和字母比例不同。
这里要修改
shuzizimu=duquszzm(imread('
0.bmp'
1.bmp'
2.bmp'
3.bmp'
4.bmp'
),...
imread('
5.bmp'
6.bmp'
7.bmp'
8.bmp'
9.bmp'
10.bmp'
11.bmp'
12.bmp'
13.bmp'
14.bmp'
15.bmp'
16.bmp'
17.bmp'
18.bmp'
19.bmp'
20.bmp'
21.bmp'
22.bmp'
23.bmp'
24.bmp'
25.bmp'
26.bmp'
27.bmp'
28.bmp'
29.bmp'
30.bmp'
31.bmp'
32.bmp'
33.bmp'
zimu=duquzimu(imread('
shuzi=duqushuzi(imread('
%============================识别结果================================
i=1;
%shibiezm_sz该函数识别数字有问题
jieguohanzi=shibiehanzi(hanzishengfen,xiuzhenghanzi);
shibiejieguo(1,i)=jieguohanzi;
i=i+1;
jieguozimu=shibiezimu(zimu,xiuzhengzimu);
shibiejieguo(1,i)=jieguozimu;
jieguozm_sz_1=shibiezm_sz(shuzizimu,xiuzhengzm_sz_1);
shibiejieguo(1,i)=jieguozm_sz_1;
i=i+1;
jieguozm_sz_2=shibiezm_sz(shu