信息处理课群综合训练与设计图像频域滤波程序设计.docx
武汉理工信息处理课群综合训练与设计报告书课程设计任务书学生姓名: 专业班级: 信息SY1001班 指导教师: 魏洪涛 工作单位: 信息工程学院 题 目: 图像频域滤波程序设计 初始条件: MATLAB软件 数字信号处理与图像处理基础知识要求完成的主要任务: 读取图像并分别显示原图像的灰度图和频谱图。 采取几种高通和低通滤波器对原图像进行频域变换,显示变换后的图像和变换后图像的频谱图。课程设计进度安排序号阶段内容所需时间1方案设计1天2软件设计2天3系统调试1天4答辩1天合 计5天 指导教师签名: 2013年 7月2日系主任(或责任教师)签名: 2013年7月2日目录摘要IAbstractII1 引言12 MATLAB相关函数函数23实验原理分析53.1 低通滤波器的设计53.1.1 理想低通滤波器的设计53.1.2 Butterworth低通滤波器设计:73.1.3 高斯低通滤波器的设计73.2 高通滤波器的设计83.2.1 理想高通滤波器的设计83.2.2 Butterworth高通滤波器设计93.2.3 Gaussian高通滤波器设计104 程序设计114.1 理想低通滤波器的程序设计114.2 Butterworth低通滤波器的程序设计114.3 Gaussian低通滤波器的程序设计124.4 理想高通滤波器的程序设计134.5 Butterworth高通滤波器的程序设计144.6 Gaussian高通滤波器的程序设计145 实验现象及结果分析165.1 理想低通滤波器165.2 Butterworth低通滤波器165.3 Gaussian低通滤波器175.4理想高通滤波器185.5 Butterworth高通滤波器195.6 Gaussian高通滤波器195.7 结果分析216心得体会227 参考文献23摘要图像的频域处理是指根据一定的图像模型,对图像频谱进行不同程度修改的技术。本文利用matlab软件,采用频域滤波的方式,对图像进行低通和高通滤波处理。低通滤波是要保留图像中的低频分量而除去高频分量,由于图像中的边缘和噪声都对应图像傅里叶频谱中的高频部分,所以低通滤波可以除去或消弱噪声的影响并模糊边缘轮廓;高通滤波是要保留图像中的高频分量而除去低频分量,所以高通滤波可以保留较多的边缘轮廓信息。本文使用的低通滤波器有理想低通滤波器、巴特沃斯滤波器和高斯滤波器,使用的高通滤波器有理想高通滤波器、巴特沃斯滤波器和高斯滤波器,实际应用中应该根据实际图像中包含的噪声情况灵活地选取适当的滤波算法关键字:matlab;傅里叶;高通滤波器;低通滤波器AbstractImage in the frequency domain processing refers to the image according to a certain model, different degree changes of image spectrum technology. In this paper, by using the matlab software, with the method of frequency domain filtering, we can do low-pass and high-pass filtering processing of image. Low-pass filter is to preserve the image of low frequency component and remove high frequency components, due to the corresponding image edges and noise in the images of the high frequency part of the Fourier spectrum, so a low-pass filter can remove or weaken the noise effect and fuzzy edge contour; High-pass filter is to retain the high frequency component and remove low frequency component of the image, so the high-pass filter can keep more edge contour information.The low pass filter using in this artical has ideal low pass filter, butterworth filter and gaussian filter, the use of high-pass filter has ideal high-pass filter, butterworth filter and gaussian filter, in the practical application should according to the actual image noise contained in the flexibility to select the appropriate filtering algorithm.Key words: matlab; Fourier; high-pass filter; low pass filterII图像频域滤波程序设计1 引言 当前,人类社会已经进入了信息社会。信息是事物运动状态和特征的反映,它和材料及能量一起构成社会的三个要素。但是,信息具有一些不同于材料和能量的特征。信息具有普遍性,无损性,时空独立性,等等。正是由于信息具有这些特征,因此,它和人类文明及社会发展的各个阶段都有密切的联系。与其他学科一样,生物医学受到信息科学及技术的影响,进而相互渗透,融合。由此产生的对生物和医学学科发展的促进作用也是显而易见的:例如,X射线早在1895年已被发现,然而,只有在计算机技术快速发展和图像重建及处理方法得以实现的基础上,G.N.Hounsfield和A.M.Cormack才发明了X射线计算机断层扫描成像技术(XCT)并应用于医学。图像重建方法包括二维平行光束和扇形束成像,三位平行线,平行面以及锥形束成像。我们所用到的傅立叶变换就属于二维平行光束成像。一般地说,人眼所能看到的实物就是处于一个相对的空间参考系中,而在空间域中的图像就是对物体光反射特性的一种具体表现。因此,在空间域中定义的图像,其像素的坐标值确定了该像素的相对空间位置,图像中各像素的灰度值反映了物体在该点的光反射特性。正式由于图像的空间域定义直接反也容易让人接受。但是,有时为了使某种处理或运算更为简便或快速,或者为了更明显的表现图像的另一些特征也可以在其他域中来描述和处理图像,广义地将其称为变换域(transformdomain).比如,刚获得的图像有很多噪音。这主要由于平时的工作和环境引起的,图像增强是减弱噪音,增强对比度。想得到比较干净清晰的图像并不是容易的事情。因此,可以通过在频域内对图像进行滤波来取出噪音。2 MATLAB相关函数函数(1)fft2fft2函数用于计算二维快速傅立叶变换,其语法格式为:B = fft2(I)B = fft2(I)返回图象I的二维fft变换矩阵,输入图象I和输出图象B大小相同。(2)fftshiftMATLAB提供的fftshift函数用于将变换后的图象频谱中心从矩阵的原点移到矩阵的中心,其语法格式为:B = fftshift(I)对于矩阵I,B = fftshift(I)将I的一、三象限和二、四象限进行互换。(3)ifft2ifft2函数用于计算图象的二维傅立叶反变换,其语法格式为:B = ifft2(I)B = ifft2(A)返回图象I的二维傅立叶反变换矩阵,输入图象I和输出图象B大小相同。其语法格式含义与fft2函数的语法格式相同,可以参考fft2函数的说明。(4) rgb2gray函数功能:将真彩色图像转换为灰度图像。在matlab命令窗口中键入doc rgb2gray或help rgb2gray可以获得更多关于该函数的帮助信息。调用格式:I = rgb2gray(RGB)将真彩色RGB图像转换成灰度图像。(RGB并不发生变化)newmap = rgb2gray(map)返回一个灰度调色板。(5)sizeMATLAB函数size简介函数功能:返回数组的尺寸语法格式:d = size(X)返回数组X每一维的大小,其中d是一个向量,元素个数为ndims(X)。如果X是一个标量(在Matlab也就是一个1行乘以1列的数组),size(X)将返回1 1。m,n = size(X)返回矩阵X的尺寸信息, 并存储在m、n中。其中m中存储的是行数,n中存储的是列数。(6) round调用格式:Y = round(X)在matlab中round也是一个四舍五入函数。(7)unit8为了节省存储空间,matlab为图像提供了特殊的数据类型uint8(8位无符号整数),以此方式存储的图像称作8位图像。调用格式: uint8 (A);功能:将数据A转换为8位无符号整数类型数据(8 )函数名: double格式: double(A); 功能: 将数据A转换为64位双精度浮点类型数据 (9)fix调用格式: B = fix(A)在matlab中fix是一个取整函数,取整规则是向最靠近零取整。(10)imread函数功能:该函数用于读取图片文件中的数据。在matlab的命令窗口中输入doc imread或者help imread即可获得该函数的帮助信息。调用格式A = imread(filename,fmt)X,map = imread(filename,fmt). = imread(filename). = imread(URL,.). = imread(.,idx) (CUR, GIF, ICO, and TIFF only). = imread(.,'PixelRegion',ROWS, COLS) (TIFF only). = imread(.,'frames',idx) (GIF only). = imread(.,ref) (HDF only). = imread(.,'BackgroundColor',BG) (PNG only)A,map,alpha = imread(.) (ICO, CUR, and PNG only(11)imshow函数简介:imshow是matlab中显示图像的函数。在matlab的命令窗口中输入doc imshow即可得到关于该函数的帮助信息。调用方式imshow(I,n)imshow(I,low high)用指定的灰度范围 low high显示灰度图像I。显示结果,图像中灰度值等于或低于low的都将用黑色显示,而灰度值大于等于high的都显示为白色,介于low和high之间的用其灰度级的默认值的中间色调显示。如果你用了一个空矩阵() 来代替 low high, imshow 函数将使用 min(I(:)max(I(:)作为第二个参数。imshow(BW)显示一张二值图像BWimshow(X,map)用指定的调色板来显示图像imshow(RGB)3实验原理分析根据卷积定理,两个空间函数的卷积可以通过计算两个傅立叶变换函数的乘积的逆变换得到,如果f(x, y)和h(x, y)分别代表图像与空间滤波器,F(u, v)和H(u, v)分别为响应的傅立叶变换(H(u, v)又称为传递函数),那么我们可以利用卷积定理来进行频域滤波。在频域空间,图像的信息表现为不同频率分量的组合。如果能让某个范围内的分量或某些频率的分量受到抑制,而让其他分量不受影响,就可以改变输出图的频率分布,达到不同的增强目的。频域空间的增强方法的步骤:(1)将图像从图像空间转换到频域空间;(2)在频域空间对图像进行增强;(3)将增强后的图像再从频域空间转换到图像空间。3.1 低通滤波器的设计 低通滤波是要保留图像中的低频分量而除去高频分量。图像中的边缘和噪声都对应图像傅里叶频谱中的高频部分,所以低通滤波可以除去或消弱噪声的影响并模糊边缘轮廓。低通滤波器有理想低通滤波器ILPF;巴特沃思低通滤波器BLPF;高斯低通滤波器GLPF等等。3.1.1 理想低通滤波器的设计理想的低通滤波器:定义:以D0为半径的圆内所有频率分量无损的通过,圆外的所有频率分量完全衰减。D0又称为截止频率。 (1) (2):频率平面原点到D(u,v)的距离。理想低通滤波器的传递函数H(u,v) 作为距离函数D(u,v)的函数的截面图如图2-1所示,作为u、v的函数的三维透视图如图2-2所示。0D0D(u,v)H(u,v)1图2-1 H(u,v)作为距离函数D(u,v)的函数的截面图H(u,v)图2-2 H(u,v)作为u、v的函数的三维透视图由于中心化了,频率矩形的中心在(M/2, N/2)处,此时距离为D(u,v)=(u-M/2)2+(v-N/2)21/2 (3)理想低通滤波器存在模糊和振铃现象。3.1.2 Butterworth低通滤波器设计:理想低通滤波器在数学上定义得很清楚,在计算机模拟中也可实现,但在截断频率处直上直下的理想低通滤波器是不能用实际的电子器件实现的。n阶Butterworth低通滤波器(BLPF)的传递函数(截止频率距原点的距离为 )定义如下: (4)其中,。 不同于ILPF,BLPF变换函数在通带与被滤除的频率之间没有明显的截断。对于有平滑传递函数的滤波器,定义一个截止频率的位置并使H(u,v)幅度降到其最大值的一部分。在式(4)中,当D(u,v)=D0时,H(u,v)=0.5(从最大值降到它的50%)。一阶的巴特沃斯滤波器没有振铃,在二阶中振铃通常很微小,这是因为与理想低通滤波器相比,它的通带与阻带之间没有明显的跳跃,在高低频率间的过渡比较光滑。巴特沃斯低通滤波器的处理结果比理想滤波器的要好,但阶数增高时振铃便成为一个重要因素。本次实验中设计实现了二阶巴特沃斯滤波器。3.1.3 高斯低通滤波器的设计二维高斯低通滤波器,其传递函数的形式为: (5)其中,。表示高斯曲线扩展的程度。使=D0,可以将滤波器表示为: (6)其中,D0是截止频率。当D(u,v)=D0时,滤波器下降到它最大值的0.607倍处。3.2 高通滤波器的设计由前面低通滤波可知,衰减傅立叶变换的高频成份将使图像模糊。由于在灰度级的边缘和其它地方的急剧变化与高频有关,图像锐化能够在频率域用高通滤波器处理实现,衰减低频部分不会扰乱傅里叶变换的高频信息。高通滤波器的传递函数由下面关系式获得: (7)对应相应得到低通滤波器的传递函数 高通滤波器:有理想高通滤波器IHPF;巴特沃思高通滤波器BHPF;高斯高通滤波器GHPF等等。3.2.1 理想高通滤波器的设计二维理想高通滤波器(IHPF)定义:与低通滤波器相对,IHPF 将以D0 为半径的圆周内的所有频率置为0,而毫不衰减地通过圆周外的任何频率。IHPF 也是物理不可实现的,只能通过计算机实现,它和ILPF 一样有振铃现象。理想高通滤波器,其传递函数的形式为: (8)理想高通滤波器的传递函数H(u,v) 作为距离函数D(u,v)的函数的截面图如图2-3所示,作为u、v的函数的三维透视图如图2-4所示。 0D0D(u,v)H(u,v)1图2-3 H(u,v)作为距离函数D(u,v)的函数的截面图H(u,v)图2-4 H(u,v)作为u、v的函数的三维透视图3.2.2 Butterworth高通滤波器设计n阶Butterworth高通滤波器(BLPF)的传递函数(截止频率距原点的距离为 )定义如下: (9)其中, 。 不同于IHPF,BHPF变换函数在通带与被滤除的频率之间没有明显的截断。对于有平滑传递函数的滤波器,定义一个截止频率的位置并使H(u,v)幅度降到其最大值的一部分。在式(9)中,当D(u,v)=D0时,H(u,v)=0.5(从最大值降到它的50%)。3.2.3 Gaussian高通滤波器设计二维高斯高通滤波器,其传递函数的形式为: (10)其中,。表示高斯曲线扩展的程度。使=D0,可以将滤波器表示为: (11)其中,D0是截止频率。当D(u,v)=D0时,滤波器下降到它最大值的0.607倍处。4 程序设计4.1 理想低通滤波器的程序设计4.2 Butterworth低通滤波器的程序设计4.3 Gaussian低通滤波器的程序设计r=5时,Gaussian低通滤波器的程序为r=80时,Gaussian低通滤波器的程序为r=200时,Gaussian低通滤波器的程序为4.4 理想高通滤波器的程序设计4.5 Butterworth高通滤波器的程序设计4.6 Gaussian高通滤波器的程序设计r=5时,Gaussian高通滤波器的程序为r=15时,Gaussian高通滤波器的程序为r=30时,Gaussian高通滤波器的程序为5 实验现象及结果分析5.1 理想低通滤波器理想低通滤波器输出后所得的图像如图4-1所示:图4-1 理想低通滤波器的输出图像5.2 Butterworth低通滤波器Butterworth低通滤波器输出后所得的图像如图4-2所示:图4-2 Butterworth低通滤波器的输出图像5.3 Gaussian低通滤波器r=5时,Gaussian低通滤波器输出后所得的图像如图4-3所示:图4-3 r=5时 Gaussian低通滤波器的输出图像r=80时,Gaussian低通滤波器输出后所得的图像如图4-4所示:图4-4 r=80时Gaussian低通滤波器的输出图像r=200时,Gaussian低通滤波器输出后所得的图像如图4-5所示:图4-5 r=200时Gaussian低通滤波器的输出图像5.4理想高通滤波器理想高通滤波器输出后所得的图像如图4-6所示:图4-6 理想高通滤波器的输出图像5.5 Butterworth高通滤波器Butterworth高通滤波器输出后所得的图像如图4-7所示:图4-7 Butterworth高通滤波器的输出图像5.6 Gaussian高通滤波器r=5时,Gaussian高通滤波器输出后所得的图像如图4-8所示:图4-8 r=5时Gaussian高通滤波器的输出图像r=15时,Gaussian高通滤波器输出后所得的图像如图4-9所示:图4-9 r=15时Gaussian高通滤波器的输出图像r=30时,Gaussian高通滤波器输出后所得的图像如图4-10所示:图4-10 r=30时Gaussian高通滤波器的输出图像5.7 结果分析(1)频域低通低通滤波由于傅立叶变换的实部R(u,v)及虚部I(u,v)随着频率u,v的升高而迅速下降,所以能量随着频率的升高而迅速减小,因此在频域平面上能量集中于频率很小的圆域内, 当D0增大时能量衰减很快。高频部分携带能量虽少,但包含有丰富的边界、细节信息,所以截止频率D0变小时,虽然亮度足够(因能量损失不大),但图像变模糊了。理想低通滤波器,整个能量的90%被一个半径为8的小圆周包含, 大部分尖锐的细节信息都存在于被去掉的10%的能量中。小的边界和其它尖锐细节信息被包含在频谱的至多0.5%的能量中。被平滑化的图像被一种非常严重的振铃效应理想低通滤波器的一种特性所影响。(2)频域高通滤波目标是选取一个滤波器变换函数H(u,v),通过它减少F(u,v)的低频部分来得到G(u,v)。运用傅立叶逆变换得到锐化后的图像。高通滤波器只记录了图像的变化,而不能保持图像的能量。由结果图像可以看出低频成分被严重地消弱了,使图像失去层次。低频分量大部分被滤除后,虽然图中各区域的边界得到了明显的增强,但图中原来比较平滑区域内部的灰度动态范围被压缩,整幅图像比较昏暗。这在边缘提取中是合适的,但仍不能满足一般的图像增强的要求。如果,改变h的值,比如令h=2或者更大,等到的图像灰度值会加倍,图像显得比较明亮一点。(3)在任何经BLPF处理过的图像中都没有明显的振铃效果,这是滤波器在低频和高频之间的平滑过渡的结果。原图像经过低通滤波后,得到的图像更模糊了因此,可以看出,低通滤波是一个以牺牲图像清晰度为代价来减少噪声干扰效果的修饰过程。(4)在高斯低通滤波器中,当滤波器的半径不同时,对应的滤波效果也不同。半径越小,平滑效果越明显,但半径过小,会使得图像变得模糊不清。(5)在高斯低通滤波器中,当滤波器的半径不同时,对应的滤波效果也不同。半径越小,边缘效果越明显。6心得体会此次课程设计,要求对MATLAB进行基础的运用和掌握,虽然只是对MATLAB一小部分进行运用。虽然以前,在信号与系统的实验课上对MATLAB有所接触,但仅仅了解了其基本用法,和一些简单的处理函数。但经过这次我才发现,MATLAB软件功能之强大,它的图像工具箱几乎包括所有经典的图像处理方法,所以说对于这些软件还是应该自己动手实际操作才会有深刻理解。通过这次的课程设计,我还意识到了想要做好一件事,要有耐心,细心,要脚踏实地,而不应该毛躁。特别是编写M文件后可能会出现结果与预期不一样,需要修改,这些都是考验我们耐心的时候。 因此,在今后的学习过程中,我会一步一步脚踏实地地去做每一件事,而不光光只是应用MATLAB软件,因为我相信,只要你肯花心思在任何一件事上,或多或少,你会在它上面获得一定成就。7 参考文献1 阮秋琦.数字图像处理.北京:电子工业出版社.20012 田捷,包尚联,周明全.医学影像处理与分析. 北京:电子工业出版社.20033 黄力宇.医学成像的基本原理.北京:电子工业出版社.20094 高上凯.医学成像系统.北京:清华大学出版社.20005 李月卿,李萌.医学影像成像原理.北京:人民卫生出版社.20026贾克斌.数字医学图像处理、存档及传输技术.北京:科学出版社.20067 陈家新.医学图像处理及三维重建技术研究.北京:科学出版社.20108 宋余庆.数字医学图像.北京:清华大学出版社.20089周述谦,周国宏.医学图像处理与分析.北京:科学出版社.200310夏良正.数字图像处理.南京:东南大学出版社.200111 胡军武.医学数字成像技术.武汉:湖北科学技术出版社.200123