当前位置:   article > 正文

基于matlab的车牌处理,基于MATLAB的车牌图像预处理系统的实现

matlab中有车牌图片集吗

%车牌识别

%%%

clc

clear

I=imread('%%%图像所在位置');%%%位置自己定

subplot(2,3,1);

imshow(I);

title('原始图像')

%%%提取原始图像行、列、维数

[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)<=241)&&(myI(i,j,1)>=15))&&...

((myI(i,j,2)<=170)&&(myI(i,j,2)>=90))&&...

((myI(i,j,3)<=240)&&(myI(i,j,3)>=210)))%%%蓝色RGB的灰度范围%%%灰度范围值选取自己定,需要使用pixval函数选取RGB值

Blue_y(i,1)=Blue_y(i,1)+1;

end

end

end

[temp MaxY]=max(Blue_y);%%%Y方向车牌区域确定

PY1=MaxY;

while((Blue_y(PY1,1)>=5)&&(PY1>1))

PY1=PY1-1;

end

PY2=MaxY;

while((Blue_y(PY2,1)>=5)&&(PY2

PY2=PY2+1;

end

IY=I(PY1:PY2,:,:);

subplot(2,3,2);

plot(Blue_y);

grid;

title('Y方向统计')

subplot(2,3,4);

imshow(IY);

title('Y方向车牌区域确定')

%%%X方向统计分析       %%%重复上面的思路

Blue_x=zeros(1,x);%%%进一步确定X方向的车牌区域

for j=1:x

for i=PY1:PY2

if(((myI(i,j,1)<=241)&&(myI(i,j,1)>=15))&&...

((myI(i,j,2)<=170)&&(myI(i,j,2)>=90))&&...

((myI(i,j,3)<=240)&&(myI(i,j,3)>=210)))

Blue_x(1,j)=Blue_x(1,j)+1;

end

end

end

%%%[temp MaxX]=max(Blue_x);%%%X方向车牌区域确定

PX1=1;

while((Blue_x(1,PX1)<3)&&(PX1

PX1=PX1+1;

end

PX2=x;

while((Blue_x(1,PX2)<3)&&(PX2>PX1))

PX2=PX2-1;

end

subplot(2,3,3);

plot(Blue_x);

grid;

title('X方向统计')

IX=I(:,PX1:PX2,:);

subplot(2,3,5);

imshow(IX);

title('X方向车牌区域确定')

%%%对车牌区域的修正

PX1=PX1-2;

PX2=PX2+2;

Plate=I(PY1:PY2,PX1-2:PX2,:);

subplot(2,3,6);

imshow(Plate);

title('车牌显示')

%%%%%上面的算法自己是可以进行改进的。

有问题可以参考(《精通MATLAB》.葛哲学.电子工业出版社)。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/129571
推荐阅读
相关标签
  

闽ICP备14008679号