MATLAB用于图像处理.doc_第1页
MATLAB用于图像处理.doc_第2页
MATLAB用于图像处理.doc_第3页
MATLAB用于图像处理.doc_第4页
MATLAB用于图像处理.doc_第5页
免费预览已结束,剩余2页可下载查看

下载本文档

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

文档简介

MATLAB电子信息应用 课程设计装订线 设计三 MATLAB用于图像处理一、 设计目的和任务 通过该设计,要求对图像的采集、显示、处理和储存有一个系统的掌握和理解,并且掌握对二位数据进行处理的方法。 二、设计内容及主要Matlab函数 1图像的采集与显示 采集一张格式为*.jpg、*.cur、*.bmp、*.tif、*.hdf、*.ico、*.pcx、*.xwd的任一幅图像。用MATLAB的imread的函数读入图像文件,并用image函数显示图像。 MATLAB函数:imread 功能是读入图像文件 image 显示图像文件 要求采集一幅图像,把该图像读入在MATLAB中,并显示出来。 图像的插值 1) 最邻近插值 最邻近插值是最简单的插值,在这种算法中,每一个插值输出像素的值就是在输入图像中与其最邻近的采样点的值。 2)双线性插值 双线性插值法的输出像素值是他输入图像中2*2邻域采样点的平均值,它根据某像素周围4个像素的灰度值在水平和垂直两个方向上对其插值。 3)双三次插值 双三次插值的插值核为三次函数,其插值邻域的大小为4*4,他的差值效果比较好,但相应的计算量较大。 MATLAB函数: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)对采集的函数图样使用imresize函数,分别对其用最邻近插值、双线性差值和双三次 插值,返回二倍放大图像,并且分别显示出来与原图像进行对比。 2)试编写一M文件,对采样的图像进行最邻近插值,并且显示出来与原图像进行对比。 三、源程序及运行结果 1. 图像的选取 图像来源于网络,图像名称为4,格式为*.jpg,为了便于操作将其放在D:MATLAB6p5work目录下。所选图像如下图所示: 2. 图像的读取 1) 用 MATLAB的imread函数读入图像文件 显示图像如下: 2) 对采集的函数图样使用imresize函数,分别对其用最邻近插值、双线性差值和双三次插 值,返回二倍放大图像,并且分别显示出来与原图像进行对比。 用imresize函数编写程序如下: 显示对比图像如下: 4、编写一M文件,对采样的图像进行最邻近插值,并且显示出来与原图像进行对比。 1) 编写M文件及函数 编写程序对采样的图像进行最邻近插值, 程序如下: 保存在MATLAB文件夹中, 显示出来与原图像进行对比。 四、实验分析 MATLAB的图像处理工具箱支持的图像文件格式丰富,如*.jpg、*.cur、*.bmp、*.tif、*.hdf、*.ico、*.pcx、*.xwd等。利用这些图像处理工具箱,并结合其强大的数据处理能力,我们可不必关心图像文件的格式、读写、显示等细节,而把精力集中在算法研究上,大大提高了工作效率。而且,在测试这些算法时既可方便地。 得到统计数据,同时又可得到直观图。 MATLAB中的immerize函数用于图像的插补。MATLAB工具箱中提供了3种插补操作。分别为nearest(默认值)最近邻插值,bilinear双线性插值,bicubic双三次插值。这三种插补方法的运算方式基本类似。对于每一种来说。为了确定插补像素点的数据值,用户必须在输入的图像中查找到与输出像素对应的点。这三种插补的方法区别在于其对像素点颠覆值的不同。 对于最近邻插值来说,输出像素的赋值为当前点的像素点。对于双线性插值来说,输出像素的赋值为2X2矩阵所包含的有效点的加权平均值。对于双三次插值来说,输出像素的赋值为4X4矩阵所包含的有效点的加权平均值。这里的像素的数目直接影响了运算过程的复杂度。因此双线性插补的方法需要的运算时间比邻插补方法需要的时间长。同样双三次插值比双线性插补方法需要的时间要长。 五、实验总结 这次课程设计主要是让我们学习使用MATLAB,利用对图像的处理来学习MATLAB这个软件。通过课程设计,我认识到了MATLAB功能非常的强大,使得我们在使用的时候用户直接调用这些库函数并赋予实际参数就能解决实际问题,具有极高的变成效率。我也熟悉了MATLAB的工作环境,可以很熟练的对MATLAB进行常规的操作,快速进行程序编辑和仿真。我对图像的采集、显示、处理和储存有一个系统的掌握和理解,也学会了有关函数在MATLAB中的使用,如图像读入的imread,图像显示函数image,以及插值函数imresize。也对绘图分割函数subplot等有了进一步的了解。并且掌握了对二位数据进行处理的一些方法,有对图像最邻近插值、双线性差值和双三次差值。还掌握了M文件的编写,对其在图像处理中的运用有了进一步的体会。 这次的课程设计是一次难得的锻炼机会,能让我所学过的理论知识在实践中得以运用。使所学的知识得以强化。在这次课程设计中也遇到了一些问题,开始没有将图像文件放入MATLAB文件夹中,一直在当前目录中没有图像文件,因而不能用MATLAB的imread的函数读入图像文件。还有对在刚开始做设计时对imresize函数不是很理解,程序总是出错,不显示对比图像。后来经过向同学请教和查阅资料才使得程序可以运行。这样在设计中也走了不少弯路。不过还是尽快完成了。 通过课设我认识到MATLAB的功能很强大,使得用户在使用时可直接调用这些函数,只要赋予其实际参数即可,有极高的

温馨提示

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

评论

0/150

提交评论