当前位置:首页 > 图像处理车牌识别系统设计实验报告
A=imrotate(I1,rot,'crop');%对图像进行旋转矫正
2.3计算行方向的像素,用来去除行方向上的边框 代码:
计算行像素:
Y1=zeros(y,1); for i=1:y for j=1:x if(I4(i,j,1)==1)
Y1(i,1)= Y1(i,1)+1;%计算I3第j列有几个一 end end end figure(2);
plot(Y1,0:y-1),title('行方向像素点灰度值累计和'),xlabel('累计像素量'),ylabel('行');
13
去除行方向边框: Py0=fix(y/2); Py1=fix(y/2)+1;
while ((Y1(Py0,1)>=30)&&(Py0>2)) Py0=Py0-1;%找到去除边框后上边的位置 end
while ((Y1(Py1,1)>=30)&&(Py1 Z1=I4(Py0:Py1,:,:);%将二值图像上下边框去除 figure(3); imshow(Z1),title('将二值图像上下边框去除后图像'); 14 2.4计算列方向的像素,用来去除垂直方向上的边框 代码: [y,x,z]=size(Z1);%计算此时图像的大小 计算列像素 X1=zeros(1,x); for j=1:x for i=1:y if(Z1(i,j,1)==1) X1(1,j)= X1(1,j)+1;%计算I3第j列有几个一 end end end figure(4); plot(0:x-1,X1),title('列方向像素点灰度值累计和'),xlabel('列值'),ylabel('累计像素'); 去除垂直边框 x1=fix(x/2)+1; for i=1:5 15 while (i~=5) while ((X1(1,x1)>=15)&&(x1 while ((X1(1,x1)<15)&&(x1 x1=x1+1;%从车牌中间开始寻找字符间隙,直到找到第四个间隙%为止,即找到去除边框后车牌右边的位置 end end end x0=fix(x*45/440);%找到第一个字符的位置 for i=1:2 while (i~=2) while ((X1(1,x0)>=5)&&(x0>2)) x0=x0-1;%从车牌的第一个字符开始寻找第一个字符间隙,找到%去除边框左边的位置 end i=i+1; while ((X1(1,x0)<5)&&(x0>1)&&i~=2) x0=x0-1;%找到去除边框后左边的位置 end end end Z2=Z1(:,x0:x1,:);%将二值图像左右边框去除 figure(5); imshow(Z2),title('将二值图像垂直边框去除后图像'); 16
共分享92篇相关文档