MATLAB电子信息应用课程设计_第1页
MATLAB电子信息应用课程设计_第2页
MATLAB电子信息应用课程设计_第3页
MATLAB电子信息应用课程设计_第4页
MATLAB电子信息应用课程设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、太原理工大学现代科技学院 MATLAB电子信息应用 课程设计 设计名称 MATLAB用于图像处理 专业班级 学 号 姓 名 指导教师 太原理工大学现代科技学院 课程设计装订线专业班级 学号 姓名 成绩 太原理工大学现代科技学院课程设计说明书格式要求: 正文用5号宋体,行距1.5倍,首行缩进2字符。每行从行首至行尾加点式下划线,空白行也要加。每页首行和尾行加双实线。 成绩评定办法: 1. 课程设计成绩根据学生平时表现、设计成果及答辩情况确定,按优秀、良好、中等、及格、不及格五个等级评定。 2. 课程设计时间为1周的,成绩评定时,要对每个学生有简单的提问或口试程序。 3. 课程设计属下列情况之一的

2、应评为不及格: 课程设计过程中工作态度不认真、纪律松懈,缺勤累计超过三分之一; 课程设计过程中有作弊行为,如抄袭他人成果、盗用他人数据等; 课程设计有原则性错误; 课程设计说明书(论文)达不到基本规范要求; 实验总结部分有抄袭现象。 4. 课程设计不及格的学生,必须重做课程设计,重做合格后获得相应的课程设计学分。 5. 评分细则如下: 出勤情况1.5分,设计过程表现1.5分,设计成果2分,总成绩5分。) 一、设计目的和任务(小4号黑体) 通过该设计,要求对图像的采集,显示,处理和存储等有一个系统的掌握和理解,并且掌握对二维 装订线 数据进行处理的方法。 二、设计内容及主要Matlab函数 1.

3、图像的采集与显示 采集一张格式为*.jpg,*.cur,*.bmp,*.tif,*.hdf,*.ico,*.pcx,*.xwd,的任何一幅图像,用MATLAB的imread函数读入图像文件,并用image函数显示图像。 MATLAB函数:imread 功能是读入图像文件 image 显示图像文件 要求采集一幅图像,把该图像读入在MATLAB中,并且显示出来。 2.图像的插值 1)最近邻插值 最近邻插值是最简单的插值,每一个插值输出像素的值就是在输入图像中与其最临近的采样点的值。 2)双线性插值 双线性插值的输出像素值是它在输入图像中2*2领域采样点的平均值,它根据某像素周围4个像素的灰度值在水

4、平和垂直两个方向上对其插值。 3)双三次插值 双三次插值的插值核为三次插值,其插值领域的大小为4*4,它的插值效果比较好,但相应的计算量较大。 MATLABA函数:imresize 使用格式:b=imresize(a,m,method),返回原图m倍放大倍数图像(小于1时返回缩小图像); b=imresize(a,m,n,method),返回一个m行、n列的图像; b=imresize(a,m,method,h),使用用户设计的插值核h进行插值,h可以看做一个二维的FIR滤波器。 三、源程序及运行结果 1、 显示原图像: 读取图像:用MATLAB的imread函数读入图像文件;用imshow函

5、数显示图像文件。 源程序为:>> i=imread('D:MATLAB6p5原图.jpg'); >> imshow(i); 读取原图片为: 2、使用imresize函数,原图像经过最近邻插值变换二倍放大的图像: 源程序为:>> j=imresize(i,2,'nearest'); >> subplot(1,2,1),imshow(i),title('原图'); >> subplot(1,2,2),imshow (j),title('最近邻'); 使用imresize函数,

6、显示原图像经过最近邻插值放大的图像: 源程序为:>> j=imresize(i,500,600,'nearest'); >> subplot(1,2,1),imshow(i),title('原图'); >> subplot(1,2,2),imshow(j),title('最近邻'); 3、使用imresize函数,原图像经过双线性插值变换二倍放大的图像: 源程序为:>> k=imresize(i,2,'bilinear'); >> subplot(1,2,1),imsho

7、w(i),title('原图'); >> subplot(1,2,2),imshow(k),title('双线性'); 使用imresize函数,显示原图像经过双线性插值的放大图像: 源程序为:>> k=imresize(i,500,600,'bilinear'); >> subplot(1,2,1),imshow(i),title('原图'); >> subplot(1,2,2),imshow(k),title('双线性'); 4、使用imresize函数,原图像经

8、过双三次插值变换二倍放大的图像: 源程序为:>> l=imresize(i,2,'bicubic'); >> subplot(1,2,1),imshow(i),title('原图'); >> subplot(1,2,2),imshow(l),title('双三次'); 使用imresize函数,显示原图像经过双三次插值后放大的图像: 源程序为:>> l=imresize(i,500,600,'bicubic'); >> subplot(1,2,1),imshow(i),t

9、itle('原图'); >> subplot(1,2,2),imshow(l),title('双三次'); 5、使用imresize函数,显示原图像经过最近邻插值、双线性插值和双三次插值后,二倍放大图像与原图像进行对比。 源程序为:>> i=imread('D:MATLAB6p5原图.jpg'); >> imshow(i); >> n=imresize(i,2,'nearest'); >> p=imresize(i,2,'bilinear'); >&

10、gt; q=imresize(i,2,'bicubic'); >> subplot(2,2,1),imshow(i),title('原图'); >> subplot(2,2,2),imshow(n),title('最近邻'); >> subplot(2,2,3),imshow(p),title('双线性'); >> subplot(2,2,4),imshow(q),title('双三次'); 6、自己编写程序对采集的图像进行最近邻插值,并且显示插值后图像与原图像对比。

11、 源程序为: 运行结果为: 四、实验分析 使用用b=imresize(a,m,method)函数是将函数放大m倍,method是选择插值算法的一种方法。而使用b=imresize(i,m,n,methon)函数是使原图像返回一个m行、n列的图像,此处是将原图返回到500行,600列。本次分别用两个函数对原图做了最近邻,双线性和双三次插值放大二倍并与原图对比。 经分析得:使用最近邻差值算法放大二倍图像较原图像在小女孩头发附近有锯齿出现,失真较大;且最近邻插值放大二倍后的图像与原图像颜色基本一致。而使用双线性插值放大二倍的图像较原图质量好,锯齿消失。颜色比原图形略浅一些。而使用双三次插值放大二倍后

12、的图像与使用双线性插值放大二倍后的图像质量略有提升,无太大差别。 五、实验总结 本次设计,是选取一张图片对其进行对近邻插值,双线性插值和双三次插值放大二倍后与原图像进 行比较。一开始感觉很困难,后来经过小组大家的研究与指导老师的讲解,了解到MATLAB用于图像处理是把一张像素不高的图片处理的较为清晰,所以首先选区图片要一张像素较低的图片,才能在处理中观察到两幅图的变化。然后在设计中,一开始我怎么也读不出图片,后来经过研究是一直没有把图片的格式.jpg加上。最后编写M文件,经过我们小组研究和指导老师的讲解用for循环完成了最近邻插值算法。 通过这次课程设计,我们掌握了有关图像处理与图像分析的基本概念和实用技术,同时也了解了imread,imshow,subplot等语句的的用法和最近邻插值,双线性插值和双三次插值对图像

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论