车牌识别附源代码Word格式.docx
- 文档编号:15176402
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:21
- 大小:412KB
车牌识别附源代码Word格式.docx
《车牌识别附源代码Word格式.docx》由会员分享,可在线阅读,更多相关《车牌识别附源代码Word格式.docx(21页珍藏版)》请在冰豆网上搜索。
完成牌照区域的定位后,再将牌照区域分割成单个字符,然后进行识别。
字符分割一般采用垂直投影法。
由于字符在垂直方向上的投影必然在字符间或字符的间隙处取得局部最小值的附近,并且这个位置应满足牌照的字符书写格式、字符、尺寸限制和一些其他条件。
利用垂直投影法对复杂环境下的汽车图像中的字符分割有较好的效果。
3)牌照字符识别
字符识别方法目前主要有基于模板匹配算法和基于人工神经网络算法。
基于模板匹配算法首先将分割后的字符二值化,并将其尺寸大小缩放为字符数据库中模板的大小,然后与所有的模板进行匹配,最后选最佳匹配作为结果。
基于人工神经元网络的算法有两种:
一种是先对待识别字符进行特征提取,然后用所获得特征来训练神经网络分配器;
另一种方法是直接把待处理图像输入网络,由网络自动实现特征提取直至识别出结果。
实际应用中,牌照识别系统的识别率与牌照质量和拍摄质量密切相关。
牌照质量会受到各种因素的影响,如生锈、污损、油漆剥落、字体褪色、牌照被遮挡、牌照倾斜、高亮反光、多牌照、假牌照等等;
实际拍摄过程也会受到环境亮度、拍摄亮度、车辆速度等等因素的影响。
这些影响因素不同程度上降低了牌照识别的识别率,也正是牌照识别系统的困难和挑战所在。
为了提高识别率,除了不断的完善识别算法,还应该想办法克服各种光照条件,使采集到的图像最利于识别。
四、各个功能模块的主要实现程序
1.载入车牌图像:
I=imread('
car1.jpg'
);
;
%将车牌的原图显示出来,结果如下
I1=rgb2gray(I);
%将彩图转换为灰度图figure
(2),subplot(1,2,1),imshow(I1);
title('
grayimage'
figure
(2),subplot(1,2,2),imhist(I1);
灰度图直方图'
%绘制灰度图的直方图结果如下所示:
3.用roberts算子进行边缘检测:
I2=edge(I1,'
roberts'
0.18,'
both'
%选择阈值0.18,用roberts算子进行边缘检测figure(3),imshow(I2);
robertsoperatoredgedetectionimage'
);
结果如下:
4.图像实施腐蚀操作:
se=[1;
1;
1];
I3=imerode(I2,se);
%对图像实施腐蚀操作,即膨胀的反操作figure(4),imshow(I3);
corrosionimage'
5.平滑图像
se=strel('
rectangle'
[25,25]);
%构造结构元素以形构造一个se
I4=imclose(I3,se);
figure(5),imshow(I4);
smothingimage'
结果如下所示:
6.删除二值图像的小对象
I5=bwareaopen(I4,2000);
%去除聚团灰度值小于2000的部分figure(6),imshow(I5);
removethesmallobjects'
%用imshow函数显示滤波后图像结果如下所示:
7.车牌定位
[y,x,z]=size(I5);
%返回I5各维的尺寸,存储在x,y,z中myI=double(I5);
%将I5转换成双精度
tic%tic表示计时的开始,toc表示计时的结束
Blue_y=zeros(y,1);
%产生一个y*1的零阵
fori=1:
y
forj=1:
x
if(myI(i,j,1)==1)
Blue_y(i,1)=Blue_y(i,1)+1;
%蓝色像素点统计end
end
[tempMaxY]=max(Blue_y);
%Y方向车牌区域确定
PY1=MaxY;
while((Blue_y(PY1,1)>
=5)&
&
(PY1>
1))
PY1=PY1-1;
PY2=MaxY;
while((Blue_y(PY2,1)>
(PY2<
y))
PY2=PY2+1;
IY=I(PY1:
PY2,:
:
Blue_x=zeros(1,x);
%进一步确定x方向的车牌区域
fori=PY1:
PY2
Blue_x(1,j)=Blue_x(1,j)+1;
PX1=1;
while((Blue_x(1,PX1)<
3)&
(PX1<
x))
PX1=PX1+1;
PX2=x;
while((Blue_x(1,PX2)<
(PX2>
PX1))
PX2=PX2-1;
PX1=PX1-1;
%对车牌区域的校正
PX2=PX2+1;
dw=I(PY1:
PY2-8,PX1:
PX2,:
t=toc;
areas'
figure(7),subplot(1,2,1),imshow(IY),title('
Linedirectionfigure(7),subplot(1,2,2),imshow(dw),title('
positioningcolorimages'
8.字符分割与识别
对分割出的彩色车牌图像进行灰度转换、二值化、均值滤波、腐蚀膨胀以及字符分割以从车牌图像中分离出组成车牌的单个字符图像,对分割出来的字符进行预处理(二值化、归一化),然后分析提取,对分割出的字符图像进行识别给出文本形式的车牌。
代码如下:
imwrite(dw,'
dw.jpg'
%将彩色车牌写入dw文件中
a=imread('
%读取车牌文件中的数据
b=rgb2gray(a);
%将车牌图像转换为灰度图
imwrite(b,'
graylicenceplate.jpg'
%
将灰度图像写入文件中
figure(8);
subplot(3,2,1),imshow(b),title('
车牌灰度图像'
)
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:
二值图像
imwrite(d,'
binarylicenceplate.jpg'
subplot(3,2,2),imshow(d),title('
beforefilteringbinarylicenceplate'
)h=fspecial('
average'
3);
d=im2bw(round(filter2(h,d)));
%使用指定的滤波器h对h进行d即均值滤波imwrite(d,'
afteraveragelicenceplate.jpg'
subplot(3,2,3),imshow(d),title('
afteraveragelicenceplate'
se=eye
(2);
%eye(n)returnsthen-by-nidentitymatrix单位矩阵
[m,n]=size(d);
%返回矩阵b的尺寸信息,并存储在m,n中
ifbwarea(d)/m/n>
=0.365%计算二值图像中对象的总面积与整个面积的比是否大于0.365d=imerode(d,se);
%如果大于0.365则图像进行腐蚀
elseifbwarea(d)/m/n<
=0.235%计算二值图像中对象的总面积与整个面积的比是否小于
0.235
d=imdilate(d,se);
%如果小于则实现膨胀操作
expansionorcorrosionthelicenceplate.jpg'
subplot(3,2,4),imshow(d),title('
expansionorcorrosionthelicenceplate'
运行结果如下所示:
9.字符分割
在汽车牌照自动识别过程中,字符分割有承前启后的作用。
它在前期牌照定位的基础上进行字符的分割,然后再利用分割的结果进行字符识别。
字符识别的算法很多,因为车牌字符间间隔较大,不会出现字符粘连情况,所以此处采用的方法为寻找连续有文字的块,若长度大于某阈值,则认为该块有两个字符组成,需要分割。
一般分割出来的字符要进行进一步的处理,以满足下一步字符识别的需要。
但是对于车牌的识别,并不需要太多的处理就已经可以达到正确识别的目的。
在此只进行了归一化处理,然后进行后期处理。
%寻找连续有文字的块,若长度大于某阈值,则认为该块有两个字符组成,需要分割%首先创建子函数qiege与getword,而后调用子程序,将车牌的字符分割开并且进行归一化处理
d=qiege(d);
subplot(3,2,5),imshow(d),title(n)k1=1;
k2=1;
s=sum(d);
j=1;
whilej~=n
whiles(j)==0
j=j+1;
k1=j;
whiles(j)~=0&
j<
=n-1
k2=j-1;
ifk2-k1>
=round(n/6.5)
[val,num]=min(sum(d(:
[k1+5:
k2-5])));
d(:
k1+num+5)=0;
%分割
y1=10;
y2=0.25;
flag=0;
word1=[];
whileflag==0
left=1;
wide=0;
whilesum(d(:
wide+1))
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 车牌 识别 源代码