MATLAB论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB与数字图像处理
工商管理类13(3)林燕婷1307540314
摘要:本文主要简述了Matlab强大的运算和图形展示功能,使图像处理变得
更加的简单和直观,利用MATLAB的数字图像处理环境,设计并实现了
一个图像处理系统,展示如何通过利用Matlab的工具函数和多种算法
实现对图形图像的各种处理。
关键词:Matlab;数字图像处理;图像变换;图像增强
正文:
1.MATLAB简介
MATLAB(矩阵实验室)是MATrix LABoratory的缩写,是一款由美国The MathWorks公司出品的商业数学软件。
MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。
除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C,C++和FORTRAN)编写的程序。
尽管MATLAB主要用于数值运算,但利用为数众多的附加工具箱(Toolbox)它也适合不同领域的应用,例如控制系统设计与分析、图像处理、信号处理与通讯、金融建模和分析等。
另外还有一个配套软件包Simulink,提供了一个可视化开发环境,常用于系统模拟、动态/嵌入式系统开发等方面。
MATLAB和Mathematic,Maple并称为三大数学软件。
它在数学类科技应用软
件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实
现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JAVA 的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
MATLAB的图像处理功能主要集中在它的图像处理工具箱中。
次工具箱是由一系列支持图像处理的函数组成。
可以进行如几何
操作,线性滤波和滤波器设计,图像的变换与增强,二值图像操作以及形态学处理等图像操作。
2.数字图像处理
数字图像处理(digitalimageprocessing)是用计算机对图像信息进行处理的一门技术,使利用计算机对图像进行各种处理的技术和方法。
利用数字图像处理主要是为了修改图形,改善图像质量,或是从图像中提起有效信息,还有利用数字图像处理可以对图像进行体积压缩,便于传输和保存。
图像处理,是对图像进行分析、加工、和处理,使其满足视觉、心理以及其他要求的技术。
图像处理是信号处理在图像域上的一个应用。
目前大多数的图像是以数字形式存储,因而图像处理很多情况下指数字图像处理。
此外,基于光学理论的处理方法依然占有重要的地位。
图像处理是信号处理的子类,另外与计算机科学、人工智能等领域也有密切的关系。
传统的一维信号处理的方法和概念很多仍然可以直接应用在图像处理上,比如降噪、量化等。
然而,图像属于二维信号,和一维信号相比,它有自己特殊的一面,处理的方式和角度也有所不同。
一般来讲,对图像进行处理(或加工、分析)的主要目的有三个方面:
(1)提高图像的视感质量,如进行图像的亮度、彩色变换,增强、抑制某些成分,对图像进行几何变换等,以改善图像的质量。
(2)提取图像中所包含的某些特征或特殊信息,这些被提取的特征或信息往往
为计算机分析图像提供便利。
提取特征或信息的过程是模式识别或计算机视觉的预处理。
提取的特征可以包括很多方面,如频域特征、灰度或颜色特征、边界特征、区域特征、纹理特征、形状特征、拓扑特征和关系结构等。
(3)图像数据的变换、编码和压缩,以便于图像的存储和传输。
不管是何种目的的图像处理,都需要由计算机和图像专用设备组成的图像处理系统对图像数据进行输入、加工和输出。
常用方法:
1)图像变换:由于图像阵列很大,直接在空间域中进行处理,涉及计算
量很大。
因此,往往采用各种图像变换的方法,如傅立叶变换、沃尔什变换、
离散余弦变换等间接处理技术,将空间域的处理转换为变换域处理,不仅可减少计算量,而且可获得更有效的处理(如傅立叶变换可在频域中进行数字滤波处理)。
目前新兴研究的小波变换在时域和频域中都具有良好的局部化特性,它在图像处理中也有着广泛而有效的应用。
2 )图像编码压缩:图像编码压缩技术可减少描述图像的数据量(即比特数),以便节省图像传输、处理时间和减少所占用的存储器容量。
压缩可以在不失真的前提
下获得,也可以在允许的失真条件下进行。
编码是压缩技术中最重要的方法,它在图像处理技术中是发展最早且比较成熟的技术。
3 )图像增强和复原:图像增强和复原的目的是为了提高图像的质量,如去除噪声,提高图像的清晰度等。
图像增强不考虑图像降质的原因,突出图像中所感兴趣的部分。
如强化图像高频分量,可使图像中物体轮廓清晰,细节明显;如强化低频分量可减少图像中噪声影响。
图像复原要求对图像降质的原因有一定的了解,一般讲应根据降质过程建立“降质模型”,再采用某种滤波方法,恢复或重建原来的图像。
4 )图像分割:图像分割是数字图像处理中的关键技术之一。
图像分割是将图像中有意义的特征部分提取出来,其有意义的特征有图像中的边缘、区域等,这是进一步进行图像识别、分析和理解的基础。
虽然目前已研究出不少边缘提取、区域分割的方法,但还没有一种普遍适用于各种图像的有效方法。
因此,对图像分割的研究还在不断深入之中,是目前图像处理中研究的热点之一。
5 )图像描述:图像描述是图像识别和理解的必要前提。
作为最简单的二值图像可采用其几何特性描述物体的特性,一般图像的描述方法采用二维形状描述,它有边界描述和区域描述两类方法。
对于特殊的纹理图像可采用二维纹理特征描述。
随着图像处理研究的深入发展,已经开始进行三维物体描述的研究,提出了体积描述、表面描述、广义圆柱体描述等方法。
6 )图像分类(识别):图像分类(识别)属于模式识别的范畴,其主要内容是图像经过某些预处理(增强、复原、压缩)后,进行图像分割和特征提取,从而进行判决分类。
图像分类常采用经典的模式识别方法,有统计模式分类和句法(结构)模式分类,近年来新发展起来的模糊模式识别和人工神经网络模式分类在图像识别中也越来越受到重视。
3.利用MATLAB图像处理分析
图像处理的过程是一个将多种算法综合运用的过程,任何单独算法都不是完美的,多种算法的结合才能够相互取长补短从而弥补不足,达到更好的处理效果。
(1)直方图规定化和维纳滤波综合算法。
直方图规定化是针对直方图均衡化不能控制变换后的直方图而且不具备交互作用的特性,将直方图变换成为某个特定的形状,如指数、对数、双曲等,有选择地增强某个灰度值范围的对比度,从而使得直方图修正更具灵活性。
而维纳滤波
是一种自适应滤波技术,该技术根据图像的局部方差来调整滤波器的输出,当局部方差大时,滤波器的平滑效果较小;当局部方差小时,滤波器平滑效果强。
维纳滤波具有很好的选择性,可以更好地保存图像的边缘和高频细节信息,而且使用起来非常方便。
将这两种算法的结合起来对图像进行增强处理,可明显提高图像对比度,减小干扰、增强目标边缘,从算法的角度看,该方法对目标特征的提取更为有利。
在MATLAB后台程序中,通过使用Global全局变量在直方图规定化处理函数histeq()和维纳滤波处理函数wiener2()之间传递图像矩阵,各处理函数的参数采用交互的方式,使用户可以根据图像特点进行灵活设置。
如下图所示:
(2)用形态学方法进行图像处理与分析
以下介绍用形态学方法对灰度图像进行处理与分析的技术要点,即对灰度图像进行如下操作:去除图像的不均匀背景;用设置阈值的方法(thresholding)将结果图像转换成二值图像;通过成分标记(componentslabeling)返回图像中的目标对象属性,并计算目标对象的统计数字特征。
其算法步骤描述如下:
1)用工具箱函数imread()和imshow()读取和显示8位灰度图。
2)用形态学开运算(MorphologicalOpening)估计背景。
通过调用imopen()并对输入图像I 执行形态学开运算,取半径为15的圆盘结构元素,且结构元素通过函数strel ()建立。
形态学开运算有消除不能完全包含在半径为15的圆盘内的目标对象的作用。
3)用surf指令察看背景图像。
用Surf指令创建近似背景的彩色表面图,使人可以看到
在一个矩形区域上的数学函数特征。
在表面图中,[0,0]表示原点,或图像左上角,曲面图最高部分表示背景的最亮像素。
4)从原图像中减去背景图像。
须用图像处理工具箱的图像算术函数imsubtract 产生均匀的背景。
5)调节图像对比度。
用imadjust指令增大图像对比度。
imadjust函数需要一个输入图像且也可带两个矢量:[lowhigh]和[bottomtop]。
输出图像通过将输入图像中low值映射到输出图像中的bot-tom值、high值映射到输出图像中的top 值,并将low与high间的值进行线性缩放而产生。
6)对图像进行阈值处理。
先调用graythresh,自动计算一个适当的阈值;然后使用graythresh返回的阈值,调用im2bw执行阈值处理,将灰度图像转换成二值图像。
7)确定图像中的目标对象并予以标记。
调用bwlabel寻找连通成份而且用惟一的数字将他们分类标记。
bwlabel接受一个二值图像和指定各目标对象的连通性的值(4或8,表示4或8连通)作为输入。
8)查看标记矩。
看bwlabel产生得标记的近似形状是有用的。
调用imcrop并用鼠标选择包含某一目标对象的一部分及其一些背景的部分图,则所选部分图的像素值会在MATLAB窗口中返回。
若查看上面的结果,你会看到一个对象的一角标以某数字标记k,这意味着它是第k个被bwlabel分类的目标对象。
imcrop函数也可带矢量指定剪裁矩形的坐标。
参考文献:
[1]罗军辉等.MATLAB7.0在图像处理中的应用[M].北京:机械工业出版
社,2005.
[2]张宜华.精通MATLAB5[M].北京:清华大学出版社,1999.[3]陈杨,陈荣娟,
郭颖辉.MATLAB6.X图形编程与图像处理[M].西安:西安电子科技大学出版社,2002.
[4]张志涌.精通MATLAB6.5版[M].北京航空航天大学出版社,2003.。