1、Matlab学年论文1- 作者: 日期:2 个人收集整理 勿做商业用途Matlab学年论文论文题目:基于Matlab的数字图像处理学 院:年 级:专 业:姓 名:学 号: 2011年6 月19 日II摘 要数字图像处理是一门新兴技术,随着计算机硬件的发展,数字图像的实时处理已经成为可能,由于数字图像处理的各种算法的出现,使得其处理速度越来越快,能更好的为人们服务。数字图像处理是一种通过计算机采用一定的算法对图形图像进行处理的技术。数字图像处理技术已经在各个领域上都有了比较广泛的应用.图像处理的信息量很大,对处理速度的要求也比较高.MATLAB强大的运算和图形展示功能,使图像处理变得更加的简单和
2、直观.本文介绍了MATLAB 语言的特点,基于MATLAB的数字图像处理环境,介绍了如何利用MATLAB及其图像处理工具箱进行数字图像处理,并通过一些例子来说明利用MATLAB图像处理工具箱进行图像处理的方法.主要论述了利用MATLAB实现图像增强、二值图像分析等图像处理。关键词MATLAB,数字图像处理,图像增强,二值图像AbstractDigital image processing is an emerging technology, with the development of computer hardware, realtime digital image processing
3、has become possible due to digital image processing algorithms to appear, making it faster and faster processing speed, better for People services .Digital image processing is used by some algorithms computer graphics image processing technology。 Digital image processing technology has been in vario
4、us areas have a relatively wide range of applications. Image processing large amount of information on the processing speed requirement is relatively high。 MATLAB powerful computing and graphics display capabilities, so that image processing becomes more simple and intuitive。 This paper introduces c
5、haracteristics of MATLAB language and this MATLABbased digital image processing environment, describes how to use the MATLAB Image Processing Toolbox for its digital image processing, and through some examples to illustrate the use of MATLAB Image Processing Toolbox for image processing method. Main
6、ly discusses the use of MATLAB for image enhancement,2-numeric image and other image processing technologies.个人收集整理,勿做商业用途文档为个人收集整理,来源于网络Keywords MATLAB, digitalimageprocessing, imageenhancement,2-numeric image目 录摘要Abstract 一、 数字图像处理的简介1(一)什么是数字图像1(二)数字图像处理概述21.基本概念22。研究内容23.基本特点2(三) 图像处理文件格式21。MATL
7、AB图像文件格式22.图像类型3二 MATLAB基本知识介绍4(一)MATLAB的概述4(二)MATLAB语言的特点4(三)MATLAB在图像处理中的应用4三 图像增强6(一)空域变换增强61.增强对比度62。图像求反7(二)空域滤波增强91.基本原理92。线性平滑滤波器103.非线性平滑滤波器114。线性锐化滤波器12(三)频域增强131。基本原理132。低通滤波133.高通滤波15四 二值图像分析17(一) 二值形态学的基本运算17(二) 二值分析进行图像处理综合应用171.噪声滤除17总结19参考文献20致谢21一、数字图像处理的简介(一)什么是数字图像所谓数字图像就是把传统图像的画面分
8、割成的被称为像素(picture element, 简称pixel,有时候也用pel这一简写词)的小的离散点,各像素的灰度值也是用离散值即整数值来表示的。为了从一般的照片,景物等模拟图像中得到数字图像,需要对传统的模拟图像进行采样与量化两种操作(二者统称为数字化).1、 采样采样(sampling)就是把在时间上和空间上连续的图像变成离散点(采样点,即像素)的集合的一种操作。通过采样,如设横向的像素数为M,纵向的像素数为N,则画面的大小可以表示为“M*N”个像素.2、 量化经过采样,图像被分解成在时间上和空间上离散分布的像素,但是像素的值(灰度值)还是连续值.把这些连续的浓淡值或灰度值变为离散
9、的值(整数值)的操作就是量化。如果把这些连续变化的值(灰度值)量化为8bit,则灰度值被分成0-2552的256个级别,分别对应于各个灰度值的浓淡程度,叫做灰度等级或灰度标度。对连续的灰度值赋予量化级的,即灰度值方法有:均匀量化(uniform quantization),线性量化(liner quantization),对数量化,MAX量化,锥形量化(tapered quantization)等。3、 采样、量化和图像细节的关系上面的数字化过程,需要确定数值N和灰度级的级数K。在数字图像处理中,一般都取成2的整数幂,即: (1。1) (1.2)一幅数字图像在计算机中所占的二进制存储位数b为:
10、 (1.3)由于数字图像是连续图像的近似,从图像数字化的过程可以看到。这种近似的程度主要取决于采样样本的大小和数量(N值)以及量化的级数K(或m值)。N和K的值越大,图像越清晰。(二)数字图像处理概述1、基本概念数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。2、研究内容数字图像处理主要研究的内容有以下几个方面:(1)图像变换.(2)图像编码压缩。(3)图像增强和复原。(4)图像分割.(5)图像描述.(6)图像分类(识别)。3、基本特点(1)数字图像处理的信息大多是二维信息,处理信息量很大。因此对计算
11、机的计算速度、存储容量等要求较高。(2)数字图像处理占用的频带较宽.与语言信息相比,占用的频带要大几个数量级。(3)数字图像中各个像素是不独立的,其相关性大。在图像画面上,经常有很多像素有相同或接近的灰度。(4)由于图像是三维景物的二维投影,一幅图象本身不具备复现三维景物的全部几何信息的能力,很显然三维景物背后部分信息在二维图像画面上是反映不出来的。因此,要分析和理解三维景物必须作合适的假定或附加新的测量。(5)数字图像处理后的图像一般是给人观察和评价的,因此受人的因素影响较大。(三)图像处理文件格式1、MATLAB图像文件格式MATLAB支持以下几种图像文件格式:(1)PCX(Windows
12、 Paintbrush)格式。可处理1,4,8,16,24位等图像数据。文件内容包括:文件头(128字节),图像数据、扩展颜色映射表数据.(2)BMP(Windows Bitmap)格式。有1,4,8,24位非压缩图像,8位RLE(Run-length Encoded )图像.(3)HDF(Hierarchical Data Format)格式。有8位,24位光栅数据集。(4)JPEG(Joint Photographic Experts Group)格式,是一种成为联合图像专家组的图像压缩格式。(5)TIFF(Tagged Image File Format)格式。处理1,4,8,24位非压
13、缩图像,1,4,8,24位packbit压缩图像,一位CCITT压缩图像等。(6)XWD(X Windows Dump)格式.1,8位Zpixmaps,XYbitmaps,1位XYpixmaps。(7)PNG(Portable Network Graphics)格式。2、图像类型MATLAB中,一幅图像可能包含一个数据矩阵,也可能包含一个颜色映射表矩阵。MATLAB中有四种基本的图像类型:(1)索引图像(2)灰度图像(3)二进制图像(4)RGB图像四、MATLAB基本知识介绍(一)MATLAB的概述MATLAB 是MATrix LABoratory(“矩阵实验室)的缩写,是由美国MathWor
14、ks 公司开发的集数值计算、符号计算和图形可视化三大基本功能于一体的,功能强大、操作简单的语言。MATLAB的基本数据单位是矩阵,用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多。MATLAB包括拥有数百个内部函数的主包和三十几种工具包(Toolbox)。工具包又可以分为功能性工具包和学科工具包。(二)MATLAB语言的特点MATLAB最突出的特点就是简洁.MATLAB用更直观的,符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码.MATLAB给用户带来的是最直观,最简洁的程序开发环境。以下简单介绍一下MATLAB的主要特点。(1)语言简洁紧凑,使用方便灵
15、活,库函数极其丰富。(2)运算符丰富.(3)MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性.(4)程序限制不严格,程序设计自由度大。(5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行.(6)MATLAB的图形功能强大.(7)MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢.(8)功能强大的工具箱是MATLAB的另一特色。MATLAB包含两个部分:核心部分和各种可选的工具箱。(9)源程序的开放性。开放性也许是MATLAB最受人们欢迎的特点。(三)MATLAB在图像处理中的应用图像处理
16、工具包是由一系列支持图像处理操作的函数组成的。下面就MATLAB 在图像处理中各方面的应用分别进行介绍.(1) 图像文件格式的读写和显示。(2) 图像处理的基本运算。(3) 图像变换。(4) 图像的分析和增强。(5) 图像的数学形态学处理.以上所提到的 MATLAB在图像中的应用都是由相应的MATLAB函数来实现的,使用时,只需按照函数的调用语法正确输入参数即可。三、图像增强图像增强是一类基本的图像处理技术,其目的是对图像进行加工,以得到对具体应用来说视觉效果更好、更有用的图像。目前常用的增强技术根据其处理所进行的空间不同,可分为基于图像域的方法和基于变化域的方法。空域增强方法可表示为:g(x
17、,y)=EHf(x,y)其中f(x,y)和g(x,y)分别为增强前后的图像,EH代表增强操作.(一)空域变换增强1、增强对比度增强对比度实际是增强原图像的各部分的反差。实际中往往是通过原图中某两个灰度值之间的动态范围来实现的(如图3-1)。图3-1 增强对比度在图3-1中可以看出,通过变换可以使原图的较高的和较低的灰度值的动态范围减小了,而原图在二者之间的动态范围增加了,从而其范围的对比度增加了.MATLAB代码所示:X1=imread(pout。tif);figure,imshow(X1)f0=0;g0=0;f1=70;g1=30;f2=180;g2=230;f3=255;g3=255;r1
18、=(g1-g0)/(f1f0);b1=g0r1*f0;r2=(g2g1)/(f2-f1);b2=g1r2*f1;r3=(g3g2)/(f3-f2);b3=g2-r3f2;m,n=size(X1);X2=double(X1);for i=1:m for j=1:n f=X2(i,j); g(i,j)=0; if(f=0)&(f=f1)&(f=f2)(f=f3) g(i,j)=r3*f+b3; end endendfigure,imshow(mat2gray(g)图像处理图示(如图32和图3-3) 图32 原图 图3-3增强对比度所得图像2、图像求反对图像求反是将原来的灰度值翻转,简单的说就是使黑
19、变白,使白变黑。普通的黑白底片和照片就是这样的关系。具体的变换就是将图像中每个像素的灰度值根据变换曲线进行映射。MATLAB代码所示:X1=imread(pout。tif);f1=200;g1=256;k=g1/f1;m,n=size(X1);X2=double(X1);for i=1:m for j=1:n f=X2(i,j); g(i,j)=0; if(f=0)&(f=f1) g(i,j)=g1k*f; else g(i,j)=0; end endendfigure,imshow(mat2gray(g)图像处理图如图34所示:图34 图像求反后(二) 空域滤波增强一般情况下,像素的邻域比该
20、像素要大,也就是说这个像素的邻域中除了本身以外还包括其他像素。在这种情况下,g(x,y)在(x,y)位置处的值不仅取决于f(x,y)在以(x,y)为中心的邻域内所有的像素的值。为在邻域内实现增强操作,常可利用模板与图像进行卷积。每个模板实际上是一个二维数组,其中各个元素的取值定了模板的功能,这种模板操作也称为空域滤波。1、基本原理空域滤波可分为线形滤波和非线形滤波两类。线形滤波器的设计常基于对傅立叶变换的分析。非线形空域滤波器则一般直接对邻域进行操作。另外各种滤波器根据功能又主要分成平滑滤波和锐化滤波。平滑可用低通来实现,锐化可用高通来实现平滑滤波器:它能减弱或消除傅立叶空间的高频分量,但不影
21、响在低频分量。因为高频分量对应图像中的区域边缘等灰度值具有较大较快变化的部分,滤波器将这些分量滤去可使图像平滑。锐化滤波器:它能减弱或消除傅立叶空间的高频分量空域滤波器都是利用模板卷积,主要步骤如下:(1)将模板在图中漫游,并将模板中心与图中某个像素位置重合;(2)将模板上的系数与模板下对应的像素相乘;(3)将所有的乘积相加;(4)将和(模板的输出响应)赋给图中对应的模板中心位置像素。下面分别介绍在MATLAB中如何应用平滑和锐化滤波器。2、线性平滑滤波器线性低通滤波器是最常用的线性平滑滤波器。这种滤波器的所有系数都是正的.对33的模板来说,最简单的操作是取所有系数都为1。为保证输出图像仍在原
22、来的灰度范围内,在计算R后要将其除以9再进行赋值。这种方法称为邻域平均法。MATLAB实现均值过滤器的代码所示:I=imread(saturn。tif);J=imnoise(I,salt & pepper,0.02);imshow(I)figure,imshow(J)K1=filter2(fspecial(average,3),J)/255;figure,imshow(K1)title(33的均值滤波器)原图像,加入椒盐噪声的图像和均值滤波的图像分别如图3-5、图3-6和图37所示。 图3-5 原图 图3-6加入椒盐噪声图像 图37 33的均值滤波器处理结果3、非线性平滑滤波器中值滤波器是最常
23、用的非线性平滑滤波器。它是一种临域运算,类似于卷积,但计算的不是加权求和,而是把邻域中的像素按灰度级进行排序,然后选择改组的中间值作为输出的像素值。具体步骤:(1)将模板在图像中漫游,并将模板中心和图像某个像素的位置重合;(2)读取模板下对应像素的灰度值;(3)将这些灰度值从小到大排成一列;(4)找出这些值排在中间的一个;(5)将这个中间值赋给对应模板中心位置的像素。MATLAB实现中值滤波器代码所示:I=imread(saturn。tif);J=imnoise(I,salt pepper,0。02);K1=medfilt2(J,3,3);figure,imshow(K1)中值滤波的结果如图3
24、8所示.图3-8 中值滤波结果4、线性锐化滤波器线性高通滤波器是最常用的线性锐化滤波器。这种滤波器的中心系数都是正的,而周围的系数都是负的。对3*3的模板来说,典型的系数取值是:1 1 1;1 8 1;-1 1 -1事实上这是拉普拉斯算子,所有的系数之和为0。当这样的模板放在图像中灰度值是常数或变化很小的区域时,其输出为0或很小.这个滤波器将原来的图像中的零频域分量去除了,也就是将输出的图像的平均值变为0,这样就会有一部分像素的灰度值小于0。在图像处理中我们一般只考虑正的灰度值,所以还有将输出图像的灰度值范围通过尺度变回到所要求的范围.MATLAB代码所示:I=imread(saturn.ti
25、f);m=fspecial(laplacian)I1=filter2(m,I)h=fspecial(unsharp,0。5);I2=filter2(h,I)/255;subplot(1,2,1);imshow(I1);title(高通滤波laplacian算子)subplot(1,2,2);imshow(I2);title(高通滤波unsharp)处理结果如图39所示:图39空域高通滤波(三)频域增强1、基本原理卷积理论是频域技术的基础。设函数f(x,y)与线性位不变算子h(x,y)的卷积结果是g(x,y),即g(x,y)=h(x,y)*f(x,y)那么根据卷积定理在频域有:G(x,y)=H(
26、u,v)F(u,v)其中G(x,y)、 H(u,v)、F(u,v)分别是g(x,y)、h(x,y)、f(x,y)的傅立叶变换.频域增强的主要步骤是:(1)技术所需增强图的傅立叶变换;(2)将其与一个(根据需要设计的)转移函数相乘;(3)再将结果进行傅立叶反变换以得到增强的图。频域增强的两个关键步骤:(1)将图像从空域转换到频域所需的变换及将图像从频域空间转换回空域所需的变换;(2)在频域空间对图像进行增强加工操作。常用的频域增强方法有低通滤波和高通滤波。以下分别介绍在MATLAB中如何实现。2、低通滤波图像的能量大部分集中在幅度谱的低频和中频度,而图像的边缘和噪声对应于高频部分。因此能降低高频
27、成分幅度的滤波器就能减弱噪声的影响。Butterworth 低通滤波器是一种物理上可以实现的低通滤波器,n阶,截断频率为d0的Butterworth低通滤波器的转移函数为:H(u,v)=用MATLAB实现Butterworth低通滤波器的代码所示:I1=imread(Saturn.tif);figure,imshow(I1)I2=imnoise(I1,salt);figure,imshow(I2)f=double(I2);g=fft2(f);g=fftshift(g);N1,N2=size(g);n=2;d0=50;n1=fix(N1/2);n2=fix(N2/2);for i=1:N1 fo
28、r j=1:N2 d=sqrt((in1)2+(jn2)2);h=1/(1+0。414*(d/d0)(2*n); result(i,j)=h*g(i,j); endendresult=ifftshift(result);X2=ifft2(result);X3=uint8(real(X2));figure,imshow(X3)原图和处理结果如图310和图3-11所示 图3-10 加噪 图311 去噪3、高通滤波高通滤波也称高频滤波器,它的频值在0频率处单位为1,随着频率的增长,传递函数的值逐渐增加;当频率增加到一定值之后传递函数的值通常又回到0值或者降低到某个大于1的值.在前一种情况下,高频增强
29、滤波器实际上是依照能够带通滤波器,只不过规定0频率处的增益为单位1。实际应用中,为了减少图像中面积大且缓慢变化的成分的对比度,有时让0频率处的增益小于单位1更合适。如果传递函数通过原点,则可以称为laplacian滤波器。n阶截断频率为d0的Butterworth高通滤波器的转移函数为:H(u,v)=MATLAB实现Butterworth高通滤波器代码所示:I1=imread(blood1。tif);figure,imshow(I1)f=double(I1);g=fft2(f);g=fftshift(g);N1,N2=size(g);n=2;d0=5;n1=fix(N1/2);n2=fix(N
30、2/2);for i=1:N1 for j=1:N2 d=sqrt(in1)2+(j-n2)2); if d=0 h=0; else h=1/(1+(d0/d)(2*n)); end result(i,j)=hg(i,j); endendresult=ifftshift(result);X2=ifft2(result);X3=uint8(real(X2);figure,imshow(X3)原图和处理结果如图3-12和3-13所示。 图3-12原图 图313高通滤波四、二值图像分析二值图像中所有的像素只能从0和1这两个值中取,因此在MATLAB中,二值图像用一个由0和1组成的二维矩阵表示。这两个
31、可取的值分别对应于关闭和打开,关闭表征该像素处于背景,而打开表征该像素处于前景。以这种方式来操作图像可以更容易识别出图像的结构特征。(一)二值形态学的基本运算数学形态学的基础是集合运算,我们把二值图像A看作是二维坐标点的集合,包含图像里为1的点,B通常是一个小的集合,作用类似于模板。膨胀(Dilation)运算AB 腐蚀(Erosion)运算AB 开(Open)运算闭(Close)运算(二)二值分析进行图像处理综合应用1、噪声滤除将开启和闭合结合起来可构成噪声滤除器。开启就是先对图像进行腐蚀后膨胀其结果。闭合就是先对图像进行膨胀后腐蚀其结果。开启和闭合这两种运算都可以除去比结构元素小特定图像细
32、节,同时保证不产生全局几何失真。开启运算可以把结构元素小的突刺滤掉,切断细长搭接而起到分离作用。闭合运算可以把比结构元素小的缺口或孔填充上,搭接短的间断而起到连通的作用.将开启和闭合结合起来可构成形态学噪声滤除器。开启结果将背景上的噪声去除了;再进行闭合则将噪声去掉。MATLAB代码:I1=imread(saturn。tif);I2=im2bw(I1);I2=double(I2);I3=imnoise(I2,salt pepper);I4=bwmorph(I3,open);I5=bwmorph(I4,close);subplot(2,2,1);subimage(I2);title(二值处理的图
33、像);subplot(2,2,2);subimage(I3);title(加入椒盐噪声的图像)subplot(2,2,3);subimage(I4);title(开启操作所得的图像);subplot(2,2,4);subimage(I5);title(再关闭操作所得的图像)图像处理如图41所示图4-1噪声滤除处理结论本文主要介绍了数字图像的理论知识及MATLAB 语言的特点,基于MATLAB的数字图像处理环境,介绍了如何利用MATLAB及其图像处理工具箱进行数字图像处理,在第四章、第五章主要论述了图像增强及二值图像的原理,并利用MATLAB来实现图像增强、二值图像分析等图像处理.参考文献1徐明
34、远,刘增力。MATLAB仿真在信号处理中的应用M.西安电子科技大学出版社.2007.1到15页2于万波.基于MATLAB的图像处理M。清华大学出版社.2008.1到20页3章毓晋.图像处理与分析M。北京清华大学出版社。2004。50到70页4张志涌。精通MATLAB6。5M。北京北航电子版。2002。 24到40页5孙家广,杨长贵。计算机图形学M。清华大学出版社.1995。 65到80页6闫敬文。数字图像处理MATLAB版M。国防工业出版社.2007。 100到124页7陈杨,陈荣娟。MATLAB6.X图像编程与图像处理M。西安电子科技大学出版社.2002. 35到60页8周新伦,柳建.数字图
35、像处理M.国防工业出版社.1986。 105到120页9李信真,车明刚。计算方法M.西安西北工业大学出版社。2000. 116到132页10陈桂明,张明照。应用MATLAB语言处理信号与数字图像M。科学出版社.2000. 53到70页11Kenneth R CastleDigital Image ProcessingPrentice Hall199580到98页12Pratt W KDigital Image ProcessingJohn Wiley&Sons2006162到184页致谢回顾紧张但又充实的学习过程,我在此向所有关心我及帮助我的老师和同学们致以最真诚的感谢。感谢在这几年来对我有所教导的老师,他们孜孜不倦的教诲不但让我学到了很多知识,而且让我掌握了学习的方法,更教会了我做人处事的道理,在此表示感谢。同时还有同学也给了我不少帮助,这里一并表示感谢.21