⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lpr_loc.m

📁 实现车牌定位 matlab程序 对车牌进行分割提取
💻 M
字号:
function lpr_loc() 
% license plate recognition - car plate location based on color model
I=imread('Car2.jpg');
[y,x,z]=size(I);
myI=double(I);
%%%%%%%% Y 方向 %%%%%%%%%%
Blue_y=zeros(y,1)
for i=1:y
   for j=1:x
      if((myI(i,j,1)<=121)&&myI(i,j,1)>=110&&((myI(i,j,2)<=155)&&(myI(i,j,2)>=141))&&((myI(i,j,3)<=240)&&(myI(i,j,3)>=210))) % 蓝色RGB的灰度范围
       Blue_y(i,1)= Blue_y(i,1)+1;     % 蓝色象素点统计   
       end  
   end
end
[temp MaxY]=max(Blue_y);        % Y方向车牌区域确定
PY1=MaxY;  %存放BLUE-Y列向量中的最大值,即整付图象中行中符合IF 条件的灰度范围的元素的最大个数
while ((Blue_y(PY1,1)>=5)&&(PY1>1))
    PY1=PY1-1;
end    
PY2=MaxY;
while ((Blue_y(PY2,1)>=5)&&(PY2<y))
      PY2=PY2+1;
end
IY=I(PY1:PY2,:,:);
%%%%%%%% X 方向 %%%%%%%%%% 
Blue_x=zeros(1,x);             % 进一步确定X方向的车牌区域
for j=1:x
  for i=PY1:PY2
      if((myI(i,j,1)<=121)&&myI(i,j,1)>=110&&((myI(i,j,2)<=155)&&(myI(i,j,2)>=141))&&((myI(i,j,3)<=240)&&(myI(i,j,3)>=210))) 
               Blue_x(1,j)= Blue_x(1,j)+1;     
           end  
    end       
end
PX1=1;
while ((Blue_x(1,PX1)<3)&&(PX1<x))%(采用的是排除法,行是选取法)
  PX1=PX1+1;%从前往后取符合(Blue_x(1,PX1)<3)条件的列,止到中间有一列断开为止  
end   
PX2=x;
while ((Blue_x(1,PX2)<3)&&(PX2>PX1))
      PX2=PX2-1;%从后往前取符合(Blue_x(1,PX2)<3)条件的列,止到中间有一列断开为止
end
IX=I(:,PX1:PX2,:);
PX1=PX1-2; % 对车牌区域的修正    
PX2=PX2+2;
IN=I(PY1:PY2,PX1:PX2-2,:)
Blue_y
figure,imshow(I);
figure,plot(Blue_y);
figure,plot(Blue_x);
figure,imshow(IX);
figure,imshow(IY);
figure,imshow(IN);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -