1、请问哪位高手会用matlab做车牌识别,我有几个问题想请问一下!
在做类似设计,不知这段程序对你有用否
I=imread('Car.jpg');
[y,x,z]=size(I);
myI=double(I);
%%%%%%%%%%% RGB to HSI %%%%%%%%
tic % 测定算法执行的时间,开始计时
%%%%%%%%%%% 统计分析 %%%%%%%%%%%%%%%
%%%%%%%% Y 方向 %%%%%%%%%%
Blue_y=zeros(y,1);
for i=1:y
for j=1:x
if((myI(i,j,1)<=30)&&((myI(i,j,2)<=62)&&(myI(i,j,2)>=51))&&((myI(i,j,3)<=142)&&(myI(i,j,3)>=119)))
% 蓝色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<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)<=30)&&((myI(i,j,2)<=62)&&(myI(i,j,2)>=51))&&((myI(i,j,3)<=142)&&(myI(i,j,3)>=119)))
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;
end
PX2=x;
while ((Blue_x(1,PX2)<3)&&(PX2>PX1))
PX2=PX2-1;
end
PX1=PX1-2; % 对车牌区域的修正
PX2=PX2+2;
Plate=I(PY1:PY2,PX1-2:PX2,:);
t=toc % 读取计时
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure,imshow(I);
figure,plot(Blue_y);grid
figure,plot(Blue_x);grid
figure,imshow(IY);
figure,imshow(Plate);
2、matlab车辆识别程序
确定物体个数和中心的话,利用颜色值进行连通性分析,应该能确定一块相同颜色的区域,找到这块区域就能确定质心点了。要是还要判断形状还得先提取出每个形状的特征。
1.识别静态的整个人体较难;即使识别出来结果也不可靠,所以现在主要以手势/人脸识别为主;这是因为手和脸上面有比较独特的特征点。你说的滤波归根结底还是要找出具有灰度跳变的高频部分作为人体;这除非背景中除了人以外没有其他突出的物体;否则光凭滤波二值法检测人体是不太现实。
2 两张图片中人要是产生相对运动,检测起来就容易多了;利用帧间差分找到图像中灰度相差大的部分(你用的滤波也是一种手段);然后二值化区域连通;要是图像中没有其他移动物体计算连通区域的变动方向就是人的运动方向。
先建立起静态背景的模型(或者直接在没人的时候拍张);然后不断的与这个背景做差,原理和帧间差分一样。建议你先从典型的帧间差分例程开始下手(比如移动车辆的检测,这个比较多)。
在二值化之后加上一个区域连通的步骤;即使用膨胀或者闭运算;这样轮廓就是连续的了;用matlab的话bwlabel可以统计连通区域里面像素的个数也就是人体面积大小。质心就是横竖坐标的平均值;取所有人体点的横竖坐标分别累加;除以坐标总数得到的x和y平均值;这个就是质心了。
3、急求车标识别MATLAB程序,帮帮忙,谢谢
首先我不确定我的方法是否有用,没有出现这样的问题,你试下先:
打开计算机,右键->选择高级系统设置->高级->环境变量->系统变量->Path里面看看有没有matlab的那个D:\Program
Files
(x86)\MATLAB7z1\bin\win;如果没有,就是这里了,你把你的\bin\win路径输进去,看看行不行
4、matlab运动目标检测,人和车有区别吗
function cat_mouse
clear
clc
mov=avifile('cat_mouse.avi');
ts=0:0.005:0.5;
x0=[0,0];
[t,x]=ode45(@cat_m,ts,x0);
n=length(x);
figure(1)
plot(0,0,'.')
hold on
h1=line( 'Color' ,[0 0 1], 'Marker' , '.' , 'MarkerSize' ,40, 'EraseMode' , 'xor' );
h2=line(15,0,'MarkerFaceColor',[0 1 0],'Marker','h', 'MarkerSize' ,15, 'EraseMode' , 'xor');
plot(15,0,'.')
line([15 15],[0 11],'LineWidth',2)
axis equal
axis([0 16 0 11])
title('猫追耗子动画演示')
for i=1:n-1
plot(x([i i+1],1),x([i i+1],2))
set(h1, 'xdata' ,x(i+1,1), 'ydata' ,x(i+1,2));
set(h2, 'xdata' ,15, 'ydata' ,20*t(i+1));
drawnow; % 刷新屏幕
pause(0.005)
f=getframe(gcf);
mov=addframe(mov,f);
end
hold off
mov=close(mov);
后面是子程序
function dx=cat_m(t,x)
a=20;b=40;c=15;
s=sqrt((c-x(1))^2+(a*t-x(2))^2);
dx=[b*(c-x(1))/s;b*(a*t-x(2))/s];
上次看到一个网友做的猫捉老鼠的实现,其实就是导弹追踪问题
5、基于MATLAB车辆视频检测与处理论文在哪下载啊?急用啊!!!
不知道你学校有没有开通中国知网的账号。开了的话里面大片大片的论文。可以咨询学校机房或者导师
6、matlab车流统计,急啊,麻烦大家
mov=aviread('xxxxxxxx.AVI');
temp=size(mov);
fnum=temp(2);
for i=1:fnum,
strtemp=strcat(int2str(i),'.','JPG');
imwrite(mov(i).cdata(:,:,:),strtemp);
end%% 从视频中提出每一帧图像
o=1;
e='.jpg';
for i=1:15
u=o-1;v=o-2;
m=int2str(o);
n=int2str(u);h=int2str(v);
s=strcat(m,e);%%把字符串b与m连接后在连接e得到图像文件存储的位置
m=imread(s);%%从S处把图像读取出来
m=rgb2gray(m);%%将图像M灰度化
m=medfilt2(m,[3,3]);
if(o>=3)
s=strcat(n,e);
n=imread(s);
n=rgb2gray(n);
s=strcat(h,e);
h=imread(s);
h=rgb2gray(h);
n=medfilt2(n,[3,3]);
h=medfilt2(h,[3,3]);
q=im2double(m);%%将图像数组转换为double型
w=im2double(n); g=im2double(h);
c=q-w;j=w-g;
th=10/255;
k=find(abs(c)>=th);
c(k)=1;
k=find(abs(c)<th);
c(k)=0;
c=bwareaopen(c,15);
se90=strel ('line',3,90);se0=strel ('line',3,0);
c=bwmorph(c,'close'); %对上述图像进行形态学闭运算
c=imdilate(c,[se90,se0]);c=bwmorph(c,'close');
c=bwareaopen(c,50);
k=find(abs(j)>=th);
j(k)=1;
k=find(abs(j)<th);
j(k)=0;
j=bwareaopen(j,15);
j=bwmorph(j,'close'); %对上述图像进行形态学闭运算
j=imdilate(j,[se90,se0]);j=bwmorph(j,'close');
c=bwareaopen(c,50);
c=c&j;c=imerode(c,[se90,se0]);
figure,imshow(c);
a=c;b=c; d=c;f=c;
[m,n]=size(c);
%%行扫描填充
for i=1:m
for j=1:n-1
if a(i,j)>0
a(i,j+1)=1;
end
end
end
for i=1:m
for j=n:-1:2
if b(i,j)>0
b(i,j-1)=1;
end
end
end
th=a&b;
%%列扫描填充
for i=1:n
for j=1:m-1
if d(j,i)>0
d(j+1,i)=1;
end
end
end
for i=1:n
for j=m:-1:2
if f(j,i)>0
f(j-1,i)=1;
end
end
end
td=d&f;
c=th&td;
end
o=o+1;
end
7、求基于BP神经网络实现汽车牌照识别的matlab代码或者是汽车牌照识别系统(用matlab写的,有用到BP神经网络
这是基于模板匹配法的车牌识别
基于BP神经网络的车牌识别程序网上有