1.刚刚接触MATLAB,做车牌识别的东西,看哪些基础的教程比较合适,
做车牌识别有如下建议:
教程方面,
首先 《MATLAB实用教程(第二版)》holly moore 著 高会声等译 电子工业出版社
用于学习matlab基础知识,当然如果你有一定基础,可以略过
其次《MATLAB.X图像处理》 贺兴华等编 人民邮电出版社
用于学习matlab图像处理的相关知识
同时可参阅《MATLAB在图像处理中的应用》 张汗灵 清华大学出版社
最后《MATLAB GUI设计学习手记》 罗华飞 北京航空航天大学出版社
用于学习设计可视化界面
matlab版本方面
理论上是版本越高越好,当然前提是保证你电脑带的动。用于图像处理,基本上要7.0以上版本都比较好。
另外
可以逛逛matlab论坛
这里资料什么分类都挺多挺好的,还有些给新手的部分。
在论坛里问问题基本上也有高手可以解答
2.基于matlab的车牌识别系统
C1gray=imread('E:/car1.jpg');subplot(231),imshow('E:/car1.jpg');title('原始图像');
Cgray=rgb2gray(C1gray);%转为灰度图像
s=strel('disk',25);%获得背景图像
Bgray=imopen(Cgray,s);
Egray=imsubtract(Cgray,Bgray);%两图相减
Fgray=imadjust(Egray,[0.3 0.5],[]);
bw22=im2bw(Fgray);%图像二值化
subplot(232);imshow(Bgray);title('背景图像');
subplot(233);imshow(Egray);title('增强黑白图像');
subplot(234);imshow(Fgray);title('增强对比度图像 ');
subplot(235);imshow(bw22);title('二值图像');
我也是刚学,这是我编的一段程序后面的还没想起来,给你参考下吧
3.急!毕业设计 车牌识别 matlab
clear;
rgb=imread('B74641.jpg');
gray=rgb2gray(rgb);
gray1=imadjust(gray,[0.2 0.7],[]);
bw=im2bw(gray1);
[m n]=size(bw);
ymin=0;
ymax=0;
for i=1:m
k=0;
for j=1:n-1
if bw(i,j)~=bw(i,j+1)
k=k+1;
end
end
if ymin==0
if k>=14
ymin=i;
end
end
if ymin~=0
if k<14
ymax=i;
end
end
if (ymax-ymin)>=30
break;
else
ymax=0;
end
end
bw1=bw(ymin:ymax,:);
xmin=0;
xmax=0;
[m n]=size(bw1);
for i=1:n
k=0;
for j=1:m-1;
if bw1(j,i)~=bw1(j+1,i)
k=k+1;
end
end
if xmin==0
if k>=2
xmin=i;
end
end
if xmin~=0
if k<2
xmax=i;
end
end
if (xmax-xmin)>=180
break;
else
xmax=0;
end
end
Chepai=bw(ymin:ymax+5,(xmin-8):(xmax+8));
subplot(2,1,1),imshow(rgb)
subplot(2,1,2),imshow(Chepai)
4.MATLAB在汽车领域
分几个层面说吧
一 数学计算
微积分,微分方程,偏微分方程,线性代数,你能接触到的数学all in。对你学习数学还是有促进的。纷繁的数学计算在里面实在是太easy了。
二编程
matlab作用为界面应用型编程,不好用,不如微软的visual。但它有自己的独门武器。如果你学过c的话,matlab很容易上手,不妨学学。
三数值计算
你最好学一学,不知道你们开不开数值分析这门课.一般都是研究生课程.有限元方法就是基于数值计算的,实际上用matlab编有限元程序相比c方便不止一点,你学了就能感受到的。
四符号计算
三大数学软件中符号计算matlab不算强,但帮助你作公式推倒之类的足矣,做论文时很有用的。
五控制系统
我不是学机械类的,但想来simulink工具箱对你很有帮助的.你接触下就知道了,方便直观。连我也忍不住学了下,虽然对我而言是用不着的~
我觉得你该学一下,我肯定你学过就会喜欢上它的强大的~~(当时老师说了我还不信来着,现在我很喜欢matlab)
5.车牌识别的图像边缘算法研究
图像边缘提取 常用的边缘检测算子有梯度算子、Roberts算子、Sobel算子、Prewitt算子、Canny算子 不过单用 效果不好
不知道你是什么语言的车牌识别 建议用梯度算子 效果不错 这里给出matlab的
主函数:
im=imread('1.kpg')
I=rgb2gray(im);%调并转化为灰度图象;
[height,width]=size(I);
%预处理
I_edge=zeros(height,width); %创建height*width的矩阵
for i=1:width-1 % 对每一列开始遍历
I_edge(:,i)=abs(I(:,i+1)-I(:,i));% 每列的值赋为原图像中左右两列相减的绝对值(即梯度)
end
I_edge=(255/(max(max(I_edge))-min(min(I_edge))))*(I_edge-min(min(I_edge)));%归一化处理(0~255)
[I_edge,y1]=select(I_edge,height,width); %%%%%%调用select函数
BW2 = I_edge;% 经过梯度变化的图象 图像边缘检测图像边缘检测图像边缘检测
%%%%%%%%%%%%%%%%一些形态学处理
SE=strel('rectangle',[10,10]);
IM2=imerode(BW2,SE);%使用二值结构要素矩阵SE队图像数据矩阵BW1执行腐蚀操作
IM2=bwareaopen(IM2,20);
IM3=imdilate(IM2,SE);%使用二值结构要素矩阵SE队图像数据矩阵BW1执行膨胀操作 %开运算,
调用函数:
function [y,y1]=select(ImageData,h,w)
thr=0.5;delta=0.05;
%
y=(ImageData>=thr*mean(max(ImageData)));
BW2=bwareaopen(y,10);SE=strel('square',15);
figure(4),subplot(1,2,2);imshow(BW2);title('清除小面积对象');
%开运算,消除细小物体
IM2=imdilate(BW2,SE); %膨胀
figure(5),subplot(1,2,1);imshow(IM2);title('第一次膨胀操作');
IM3=imerode(IM2,SE);%腐蚀
figure(5),subplot(1,2,2);imshow(IM3);title('第一次腐蚀操作');
average=sum(sum(IM3))/(h*w);
while(average0.08)%参数可能需要自己调整
% if(average=1)
% break;
%end
if(average=thr*mean(max(ImageData)));
BW2=bwareaopen(y,10);
IM2=imdilate(BW2,SE);
figure(6),subplot(1,2,1);imshow(IM2);title('第二次膨胀操作');
IM3=imerode(IM2,SE);
figure(6),subplot(1,2,2);imshow(IM3);title('第二次腐蚀操作');
average=sum(sum(IM3))/(h*w);
end
y1=y;
y=IM3;
6.matlab程序代码 RBF神经网络车牌识别
车牌识别技术(Vehicle License Plate Recognition,VLPR) 是计算机视频图像识别技术在车辆牌照识别中的一种应用。
车牌识别技术要求能够将运动中的汽车牌照从复杂背景中提取并识别出来,通过车牌提取、图像预处理、特征提取、车牌字符识别等技术,识别车辆牌号,目前的技术水平为字母和数字的识别率可达到96%,汉字的识别率可达到95%。车牌识别在高速公路车辆管理中得到广泛应用,电子收费(ETC)系统中,也是结合DSRC技术识别车辆身份的主要手段。
转载请注明出处众文网 » 基于MATLAB车牌识别毕业论文(刚刚接触MATLAB,做车牌识别的东西,看哪些基础的教程比较合适,)