基于matlab的数字图像处理Word文档下载推荐.docx
《基于matlab的数字图像处理Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于matlab的数字图像处理Word文档下载推荐.docx(24页珍藏版)》请在冰豆网上搜索。
KeyWords:
MATLAB,DigitalImageProcessing
目录
摘要1
ABSTRACT3
1.绪论5
1.1数字图像处理发展概况5
1.2数字图像处理的目的5
1.3本文的研究内容6
2.图像的增强和锐化6
2.1空域变换增强6
2.2空域滤波增强8
2.3图像的锐化12
3.图像的边缘检测14
4.形态学图像处理18
4.1图像的二值化...18
4.2图像的膨胀和腐蚀18
5.总结与展望19
参考文献20
1.绪论
1.1数字图像处理发展概况
数字图像处理最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。
数字图像处理作为一门学科大约形成于20世纪60年代初期。
早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。
图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。
首次获得实际成功应用的是美国喷气推进实验室(JPL)。
他们对航天探测器徘徊者7号在1964年发回的几千张月球照片使用了图像处理技术,如几何校正、灰度变换、去除噪声等方法进行处理,并考虑了太阳位置和月球环境的影响,由计算机成功地绘制出月球表面地图,获得了巨大的成功。
随后又对探测飞船发回的近十万张照片进行更为复杂的图像处理,以致获得了月球的地形图、彩色图及全景镶嵌图,获得了非凡的成果,为人类登月创举奠定了坚实的基础,也推动了数字图像处理这门学科的诞生。
在以后的宇航空间技术,如对火星、土星等星球的探测研究中,数字图像处理技术都发挥了巨大的作用。
数字图像处理取得的另一个巨大成就是在医学上获得的成果.
1.2数字图像处理的目的
图像增强是一类基本的图像处理技术,其目的是对图像进行加工,以得到对具体应用来说视觉效果更好、更有用的图像。
这里的好和有用要因具体的应用目的和要求而异,并且所需的具体增强技术也可不同。
目前常用的增强技术根据其处理所进行的空间不同,可分为基于图像域的方法和基于变化域的方法。
第一类,直接在图像所在的空间进行处理,也就是在像素组成的空间里直接对像素进行操作;
第二类,在图像的变化域对图像进行间接处理。
空域增强方法可表示为:
g(x,y)=EH[f(x,y)]
其中f(x,y)和g(x,y)分别为增强前后的图像,EH代表增强操作。
一般来讲,对图像进行处理(或加工、分析)的主要目的有三个方面:
(1)提高图像的视感质量,如进行图像的亮度、彩色变换,增强、抑制某些成分,对图像进行几何变换等,以改善图像的质量。
(2)提取图像中所包含的某些特征或特殊信息,这些被提取的特征或信息往往为计算机分析图像提供便利。
提取特征或信息的过程是模式识别或计算机视觉的预处理。
提取的特征可以包括很多方面,如频域特征、灰度或颜色特征、边界特征、区域特征、纹理特征、形状特征、拓扑特征和关系结构等。
(3)图像数据的变换、编码和压缩,以便于图像的存储和传输。
不管是何种目的的图像处理,都需要由计算机和图像专用设备组成的图像处理系统对图像数据进行输入、加工和输出。
1.3本文的研究内容
在本论文中,我用Matlab提供的图像处理工具箱来对图像进行处理,主要用了以下几种图像处理方法:
空间变换增强、空域滤波增强、图像锐化、边缘检测、形态学图像处理。
通过这几种处理,我对原图像获得了不同的处理效果。
在实际的应用中,我们应根据具体的需求来选取对应的图像处理方法。
另外,如果在图像实时处理系统中,除了要考虑图像处理算法的处理效果,还要考虑图像处理算法的时效性,这时我们就要对图像处理算法做优化来满足其时效性的要求。
2.图像的增强和锐化
2.1空域变换增强
空间变换增强又包含了增强对比度和图像求反。
增强对比度实际是增强原图像的各部分的反差。
实际中往往是通过原图中某两个灰度值之间的动态范围来实现的。
对图像求反是将原来的灰度值翻转,简单的说就是使黑变白,使白变黑。
普通的黑白底片和照片就是这样的关系。
具体的变换就是将图像中每个像素的灰度值根据变换曲线进行映射。
增强对比度
在图可以看出,通过变换可以使原图的较高和较低的灰度值的动态范围减小了,而原图在二者之间的动态范围增加了,从而其范围的对比度增加了。
处理效果如下:
图像取反
代码截图如下:
2.2空域滤波增强
空域滤波可分为线形滤波和非线形滤波两类。
线形滤波器的设计常基于对傅立叶变换的分析。
非线形空域滤波器则一般直接对邻域进行操作。
另外各种滤波器根据功能又主要分成平滑滤波和锐化滤波。
平滑可用低通来实现,锐化可用高通来实现。
平滑滤波器:
它能减弱或消除傅立叶空间的高频分量,但不影响在低频分量。
因为高频分量对应图像中的区域边缘等灰度值具有较大较快变化的部分,滤波器将这些分量滤去可使图像平滑。
锐化滤波器:
它能减弱或消除傅立叶空间的高频分量
卷积理论是频域技术的基础。
设函数f(x,y)与线性位不变算子h(x,y)的卷积结果是g(x,y),即g(x,y)=h(x,y)*f(x,y)
那么根据卷积定理在频域有:
G(x,y)=H(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提供的函数imnoise给图像分别添加高斯(gaussian)噪声和椒盐噪声。
线性平滑滤波器
线性低通滤波器是最常用的线性平滑滤波器。
这种滤波器的所有系数都是正的。
对3*3的模板来说,最简单的操作是去所有系数都为1。
为保证输出图像仍在原来的灰度范围内,在计算R后要将其除以9再进行赋值。
这种方法称为领域平均法。
用3*3均值滤波器对椒盐噪声的图像进行滤波后的图像如下:
非线性平滑滤波器
中值滤波器是最常用的非线性平滑滤波器。
它是一种临域运算,类似于卷积,但计算的不是加权求和,而是把领域中的像素按灰度级进行排序,然后选择改组的中间值作为输出的像素值。
线性锐化滤波器
线性高通滤波器是最常用的线性锐化滤波器。
这种滤波器的中心系数都是正的,而周围的系数都是负的。
对3*3的模板来说,典型的系数取值是:
[-1-1-1;
-18-1;
-1-1-1]
事实上这是拉普拉斯算子,所有的系数之和为0。
当这样的模板放在图像中灰度值是常数或变化很小的区域时,其输出为0或很小。
这个滤波器将原来的图像中的零频域分量去除了,也就是将输出的图像的平均值变为0,这样就会有一部分像素的灰度值小于0。
在图像处理中我们一般只考虑正的灰度值,所以还有将输出图像的灰度值范围通过尺度变回到所要求的范围。
2.3图像的锐化
图像锐化技术。
英文:
imagesharpening。
释文:
补偿和增加图像的高频成分,使图像中的地物边界、区域边缘、线条、纹理特征和精细结构特征等更加清晰、鲜明。
图像锐化技术分为空间域法和频域法两类,可使用理想滤波器、梯形滤波器、巴特沃斯滤波器、指数型滤波器进行滤波处理以达到锐度提高的目的。
图像锐化的目的是增强图像轮廓和细节,使图象清晰,处理后噪声也会增强.
图像锐化的处理方法包括:
梯度法、拉普拉斯算法、Robert算法,采用微分运算求信号变化率,加强高频分量,使图象轮廓清晰。
用matlab工具箱提供的几种图像锐化函数对图像处理效果如下:
3.图像的边缘检测
边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。
图像属性中的显著变化通常反映了属性的重要事件和变化。
这些包括(i)深度上的不连续、(ii)表面方向不连续、(iii)物质属性变化和(iv)场景照明变化。
边缘检测是图像处理和计算机视觉中,尤其是特征提取中的一个研究领域。
图像边缘检测大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。
有许多方法用于边缘检测,它们的绝大部分可以划分为两类:
基于查找一类和基于零穿越的一类。
基于查找的方法通过寻找图像一阶导数中的最大和最小值来检测边界,通常是将边界定位在梯度最大的方向。
基于零穿越的方法通过寻找图像二阶导数零穿越来寻找边界,通常是Laplacian过零点或者非线性差分表示的过零点。
边缘可能与视角有关——也就是说边缘可能随着视角不同而变化,典型地反映在场景、物体的几何形状一个将另一个遮挡起来,也可能与视角无关——这通常反映被观察物体的属性如表面纹理和表面形状。
在二维乃至更高维空间中,需要考虑透视投影的影响。
一个典型的边界可能是,例如一块红色和一块黄色之间的边界,与此相反的是边线可能是在另外一种不变的背景上的少数不同颜色的点。
在边线的每一边都有一个边缘。
在许多图像处理的应用中边缘都起着非常重要的作用。
然而,在最近几年,不明显依赖于边缘检测作为预处理的计算机视觉处理方法研究取得了一些实质性的研究成果。
MATLAB的图像处理工具箱中提供的edge函数可以实现检测边缘的功能,其语法格式如下:
BW=edge(I,’sobel’)
BW=edge(I,’sobel’,direction)
BW=edge(I,’roberts’);
BW=edge(I,’log’)
这里BW=edge(I,’sobel’)采用Sobel算子进行边缘检测。
BW=edge(I,‘sobel’,direction)可以指定算子方向,即:
Direction=’horizontal’,为水平方向;
Direction=’vertical’,为垂直方向;
Direction=‘both’,为水平和垂直方向。
用matlab提供的边缘检测函数对图像检测结果如下:
由下图可以看出:
对于这幅图像来说,用log算子和canny算子的边缘检测效果更好
关键代码截图如下:
4.形态学图像处理
4.1图像的二值化
4.2图像的膨胀和腐蚀
腐蚀:
删除对象边界某些像素。
膨胀:
给图像中的对象边界添加像素。
在操作中,输出图像中所有给定像素的状态都是通过对输入图像的相应像素及邻域使用一定的规则进行确定。
在膨胀操作时,输出像素值是输入图像相应像素邻域内所有像素的最大值。
在二进制图像中,如果任何像素值为1,那么对应的输出像素值为1;
而在腐蚀操作中,输出像素值是输入图像相应像素邻域内所有像素的最小值。
在二进制图像中,如果任何一个像素值为0,那么对应的输出像素值为0。
结构元素的原点定义在对输入图像感兴趣的位置。
对于图像边缘的像素,由结构元素定义的邻域将会有一部分位于图像边界之外。
为了有效处理边界像素,进行形态学运算的函数通常都会给出超出图像、未指定数值的像素指定一个数值,这样就类似于函数给图像填充了额外的行和列。
对于膨胀和腐蚀操作,它们对像素进行填充的值是不同的。
对于二进制图像和灰度图像,膨胀和腐蚀操作使用的填充方法如下表:
参考文献
[1]赵小川,何灏.MATLAB数字图像处理实战.北京机械工业出版社.2013.06
[2]张强,王正林.精通MATLAB图像处理.北京电子工业出版社.20012
[3]周品.MATLAB数字计算与仿真应用.北京电子工业出版社.2013
[4]冈萨雷斯.数字图像处理(MATLAB版).电子工业出版社.2010.