基于matlab的车型识别课程设计源代码
更新时间:2023-10-27 15:27:01 阅读量: 综合文库 文档下载
目 录
1、目的与要求……………………………………………………1
2、设计的内容……………………………………………………1
3、设计内容以及原理……………..……………………..………1
4、各个功能的实现程序及结果…………………………………2
6、课程设计总结与心得体会……………………………………8
7、参考文献………………………………………………………9
1.目的与要求 目的:
通过本课程设计使学生了解数字图像的基本概念,掌握数字图像处理的基本内容,如图像点运算、几何变换、增强处理、图像复原、边缘检测以及图像压缩等的基本原理和Matlab实现方法。
通过本次课程设计,让学生掌握如何学习一门语言,如何进行资料查阅搜集,如何自己解决问题等方法,养成良好的学习习惯。扩展理论知识,培养学生的综合设计能力。
要求:
1、要充分认识课程设计对培养自己的重要性,认真做好设计前的各项准备工作。尤其是对编程软件的使用有基本的认识。
2、既要虚心接受老师的指导,又要充分发挥主观能动性。结合课题,独立思考,努力钻研,勤于实践,勇于创新。
3、独立按时完成规定的工作任务,不得弄虚作假,不准抄袭他人内容,否则成绩以不及格计。
4、在设计过程中,要严格要求自己,树立严肃、严密、严谨的科学态度,必须按时、按质、按量完成课程设计。 2.设计的内容
主要功能: 1)、预处理功能:
(1)直方图的统计及绘制,根据此找到图像的阈值点; (2)可将图像的各种几何矫正变换;
(3)彩色图像的灰度化变换等、一般灰度图像的二值化处理等;
(4)数字图像的增强处理功能:空域中的点运算、直方图的均衡化、各种空间域平滑算法(如局部平滑滤波法、中值滤波等)、锐化算法(如梯度锐化法、高通滤波等);色彩增强:伪彩色增强、真彩色增强等; 2)、处理功能:
车识别:从图像中提取出车辆的轮廓并辨别出车型 3.原理方法:
首先对图像做了压缩和归一化处理,得到统一大小的背景图和前景图。分别对两幅图做灰度变换。再将含有汽车的前景图像和背景图像进行差分运算去除背景干扰,迭代阈值分割的方法提取到目标车辆轮廓。经过小面积区域去除和横纵填充后,得到比较利于分析的汽车外形图。在汽车车型识别中按标准分析了各种不同的车辆形状,抽象出了车辆的一般形状的“工”字形,以车辆顶长作中垂线分下底长的前后比例数、顶长等作为参数,提取出特征
1
参数,用于车型的识别。利用小孔成像的原理,推算出长和车高。
3.各个功能的实现程序及结果
1) 能对图像文件(bmp、 jpg、 tiff、 gif等)进行打开、保存、另存、打印、退出等功能操作; 2) 图像预处理功能:
(1)直方图的统计及绘制,根据此找到图像的阈值点; (2)可将图像的各种几何矫正变换;
(3)彩色图像的灰度化变换等、一般灰度图像的二值化处理等;
(4)数字图像的增强处理功能:空域中的点运算、直方图的均衡化、各种空间域平滑算法(如局部平滑滤波法、中值滤波等)、锐化算法(如梯度锐化法、高通滤波等);色彩增强:伪彩色增强、真彩色增强等;
程序代码:
[name,path]=uigetfile({'*.jpg';'*.bmp';'*.tif';'*.gif';'*.*'},''); file=[path,name]; im= imread(file);
subplot(221);x=rgb2gray(im);imshow(x):title('灰度化图像'); subplot(222);imhist(x);title('图像直方图');
subplot(223);c=histeq(x);imshow(c);title('均衡化图像'); subplot(224);imhist(c);title('均衡化后的直方图');
fmax=double(max(max(x))); %egray的最大值并输出双精度型 fmin=double(min(min(x))); %egray的最小值并输出双精度型 level=(fmax-(fmax-fmin)/2)/255; %获得最佳阈值'level'
g=im2bw(x,level);figure ;imshow(g);title('二值化');%转换为二值图像
运算结果:
RGB=imread('D:/zll.jpg'); x=rgb2gray(RGB);
J = imnoise(x,'salt & pepper', 0.02);%加入椒盐燥声 subplot(131),imshow(J);title('原始黑白图像')
2
K = medfilt2(J);%中值滤波函数
subplot(132);imshow(K);title('中值滤波'); H = fspecial('unsharp');
BW = imfilter(K,H,'replicate');
subplot(133);imshow(BW);title('图像锐化'); B=grayslice(x,7); %从灰度创索
figure,imshow(B,cool(7));title('伪彩色增强');%cool青蓝和洋红
3) 车识别; 程序代码:
i=imread('D:/e1.jpg'); j=imread('D:/e2.jpg'); i1=rgb2gray(i); j1=rgb2gray(j);
i2=medfilt2(i1,[2,2]); j2=medfilt2(j1,[2,2]);
z=double(imsubtract(i2,j2));
subplot(221),imshow(z);title('原图象与背景图象相减'); zmax=max(max(z)); zmin=min(min(z)); tk=(zmax+zmin)/2; bcal=1;
zsize=size(z); while(bcal) ifore=0; iback=0; isum=0;
backsum=0;
3
for i=1:zsize(1)
for j=1:zsize(2) tmp=z(i,j); if (tmp>=tk)
ifore=ifore+1;
isum=isum+double(tmp); else
iback=iback+1;
backsum=backsum+double(tmp); end end end
zo=isum/ifore;
zb=backsum/iback;
tktmp=uint8((zo+zb)/2); if(tktmp==tk) bcal=0; else
tk=tktmp; end end
z1=im2bw(z,double(tk)/255); z2=medfilt2(z1,[7,7]);
z3=bwareaopen(z2,300);
subplot(222),imshow(z2);title('小面积区域去除后的图像')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% zsize=size(z3); %横向填充 for i=1:zsize(1) n=0;
x=zeros(1,400); y=1;
for j=1:zsize(2) if(z3(i,j)==1) x(1,y)=j; y=y+1; n=n+1; liebiao=j; end end
if((n>=100)&&(liebiao-x(1,1)>150)) for m=x(1,1):liebiao z3(i,m)=1; end
4
正在阅读:
基于matlab的车型识别课程设计源代码10-27
老挝语汉语对照学习入门Microsoft Word 文档10-06
酒店管理系统10-19
16春学期《古代汉语(一)》在线作业02-27
甜的味道作文600字07-11
倾听大自然的声音作文800字07-09
我要一份太阳作文600字07-10
我记忆深处的奶奶作文500字06-25
0-1岁宝宝养育实用经验06-07
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 源代码
- 车型
- 识别
- 基于
- 课程
- matlab
- 设计