• 大小: 1.16MB
    文件类型: .zip
    金币: 2
    下载: 0 次
    发布日期: 2023-08-28
  • 语言: Matlab
  • 标签: 车牌识别  

资源简介

基于matlab的车牌识别. .

资源截图

代码片段和文件信息

I=imread(‘PABH3.jpg‘);%读取图像  
figure();  
imshow(I) title(‘原始图像‘);
I1=rgb2gray(I);%转化为灰度图像
figure();
imshow(I1)title(‘灰度图像‘);
I2=edge(I1‘robert‘0.09‘both‘);%用robert算子进行边缘检测 
figure();
imshow(I2)title(‘边缘检测后图像‘); 
se=[1;1;1]; %线型结构元素  
I3=imerode(I2se);    %腐蚀图像  
figure();
imshow(I3)title(‘腐蚀后边缘图像‘);
se=strel(‘rectangle‘[2525]);  %矩形结构元素 
I4=imclose(I3se);%图像聚类、填充图像 
figure();
imshow(I4)title(‘填充后图像‘); 
I5=bwareaopen(I42000);%去除聚团灰度值小于2000的部分 
figure();
imshow(I5)title(‘形态滤波后图像‘); 
[yxz]=size(I5);
I6=double(I5);  
Y1=zeros(y1);  
for i=1:y     
for j=1:x               
if(I6(ij1)==1)                  
Y1(i1)= Y1(i1)+1;              
end        
end         
end   
[temp MaxY]=max(Y1);  
figure();   
subplot(121)plot(0:y-1Y1)title(‘行方向像素点灰度值累计和‘)xlabel(‘行值‘)ylabel(‘像素‘);

%%%%%%%求的车牌的行起始位置和终止位置%%%%%%%%%  
PY1=MaxY;   
while ((Y1(PY11)>=40)&&(PY1>1))         
PY1=PY1-1;  
end      
PY2=MaxY;
while ((Y1(PY21)>=40)&&(PY2PY2=PY2+1;  
end   
IY=I(PY1:PY2::);  
X1=zeros(1x);  
for j=1:x       
for i=PY1:PY2             
if(I6(ij1)==1)                  
X1(1j)= X1(1j)+1;                            
end        
end        
end   
subplot(222)plot(0:x-1X1)title(‘列方向像素点灰度值累计和‘)xlabel(‘列值‘)ylabel(‘像数‘); 
 %%%%%%%求的车牌的列起始位置和终止位置%%%%%%%%%   

PX1=1;   
while ((X1(1PX1)<100)&&(PX1PX1=PX1+1;  
end      
PX2=x;   
while ((X1(1PX2)<100)&&(PX2>PX1))         
PX2=PX2-1;  
end  
PX1=PX1-1;  
PX2=PX2+1;  
%定位出车牌图像% 
figure();
imshow(I)
rectangle(‘Position‘[PX1+27PY1-5PX2-PX1-50PY2-PY1]‘Curvature‘[00]‘linewidth‘2‘linestyle‘‘-‘‘edgecolor‘‘b‘);   

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-03-20 21:15  王田田-09-物联网1303\
     文件        1864  2016-03-20 21:08  王田田-09-物联网1303\wtt.m
     文件     1219516  2016-03-20 21:15  王田田-09-物联网1303\王田田-09-物联网1303.docx

评论

共有 条评论