图像频率域低通滤波处理程序设计.docx
- 文档编号:8780300
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:19
- 大小:464.41KB
图像频率域低通滤波处理程序设计.docx
《图像频率域低通滤波处理程序设计.docx》由会员分享,可在线阅读,更多相关《图像频率域低通滤波处理程序设计.docx(19页珍藏版)》请在冰豆网上搜索。
图像频率域低通滤波处理程序设计
专业综合课程设计任务书
学生姓名:
陈德松专业班级:
电信0901班
指导教师:
黄朝兵工作单位:
信息工程学院
题目:
图像频率域低通滤波处理程序设计
初始条件:
(1)提供实验机房及其matlab软件;
(2)数字图像处理的基本理论学习。
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
(1)掌握频率域处理的基本原理,利用matlab设计程序完成以下功能;
(2)选择一幅256级的灰度图像;
(3)对该图像作Fourier变换,得到其频谱图像;
(4)按照二阶Butterworth低通滤波器的表达式设计传递函数,对该频谱图像进行低通滤波,对滤波后的频谱图像作逆Fourier变换得到滤波结果,显示结果图;
(5)按照高斯低通滤波器的表达式设计传递函数,对该频谱图像进行低通滤波,对滤波后的频谱图像作逆Fourier变换得到滤波结果,显示结果图;
(6)对二种滤波器的滤波结果进行分析比较;
(7)要求阅读相关参考文献不少于5篇;
(8)根据课程设计有关规范,按时、独立完成课程设计说明书。
时间安排:
(1)布置课程设计任务,查阅资料,确定方案四天;
(2)进行编程设计一周;
(3)完成课程设计报告书三天;
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
目录
摘要I
1MATLAB的简介1
2原理与实现2
2.1频率域增强基本理论2
2.2傅立叶变换3
2.3频率域巴特沃兹(Butterworth)低通滤波器4
2.4频率域高斯(Gaussian)低通滤波器6
3程序设计7
3.1算法设计(程序设计流程图)7
3.2对灰度图像进行Fourier变换的程序7
3.3二阶巴特沃斯(Butterworth)低通滤波程序8
3.4高斯(Gaussian)低通滤波程序9
4结果与分析11
4.1选择一幅256级的灰度图像11
4.2对灰度图像进行Fourier变换后的频谱图13
4.3二阶巴特沃斯(Butterworth)低通滤波结果与分析14
4.4高斯(Gaussian)低通滤波结果与分析17
4.5两种滤波器的滤波结果的比较20
5心得体会21
参考文献22
摘要
数字图像处理的目的之一是改善图像的视觉效果,以便人眼或机器对图像进一步理解。
而图像增强技术通过采用某种技术手段可以改善图像的视觉效果。
其中一种技术是频率域增强技术,它是增强技术的重要组成部分。
本设计重点介绍了用Matlab对一幅256级的灰度图像作Fourier变换,然后对变换后得到的频谱图像进行分别进行二阶Butterworth低通滤波和高斯低通滤波,然后对滤波后的频谱图像作逆Fourier变换得到滤波结果,显示结果图。
本程序的设计很简洁,加上注释显得通俗易懂,而且本程序中很多地方都有输入提示,有一定的人机交互。
关键词:
Matlab,Fourier变换,Butterworth,高斯(Gaussian),低通滤波
1MATLAB的简介
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
2原理与实现
2.1频率域增强基本理论
不对Fourier变换(FT)和图像的频率域处理技术有所了解,就不可能完全理解图像增强这个最基本的图像处理任务。
频域增强指在图像的频率域内,对图像的变换系数(频率成分)直接进行运算,然后通过Fourier逆变换以获得图像的增强效果。
一般来说,图像的边缘和噪声对应Fourier变换中的高频部分,所以低通滤波能够平滑图像、去除噪声。
图像灰度发生聚变的部分与频谱的高频分量对应,所以采用高频滤波器衰减或抑制低频分量,能够对图像进行锐化处理。
卷积理论是频域技术的基础,设函数f(x,y)与算子h(x,y)的卷积结果是g(x, y),即g(x,y)=h(x,y)*f(x,y),那么根据卷积定理在频域有:
其中G(u,v),H(u,v),F(u,v)分别是g(x,y),h(x,y),f(x,y)的傅立叶(或其它)变换,H(u,v)是转移函数。
在具体增强应用中,f(x,y)是给定的(所以F(u,v)可利用变换得到),需要确定的是H(u,v),这样具有所需特性的g(x,y)就可算出G(u,v)而得到:
2.2傅立叶变换
傅里叶变换是将时域信号分解为不同频率的正弦信号或余弦函数叠加之和。
傅立叶变换是数字图像处理技术的基础,其通过在时空域和频率域来回切换图像,对图像的信息特征进行提取和分析,简化了计算工作量,被喻为描述图像信息的第二种语言,广泛应用于图像变换,图像编码与压缩,图像分割,图像重建等。
因此,对涉及数字图像处理的工作者,深入研究和掌握傅立叶变换及其扩展形式的特性,是很有价值得。
把傅立叶变换的理论通其物理解释相结合,将有助于解决大多数图像处理问题。
傅里叶变换可分为连续傅里叶变换、离散傅里叶变换、快速傅里叶变换。
快速傅里叶变换(FFT)是计算离散傅里叶变换(DFT)的快速算法。
离散傅里叶变换运算量巨大,计算时间长,即运算时间很长。
而快速傅里叶变换的提出将傅里叶变换的复杂度由降到了,很大程度上减少了计算量。
令
,
,u=0,1,2,…,M-1
则
,
2.3频率域巴特沃兹(Butterworth)低通滤波器
物理上可实现(理想低通滤波器在数学上定义得很清楚,在计算机模拟中也可实现,但在截断频率处直上直下的理想低通滤波器是不能用实际的电子器件实现的)减少振铃效应,高低频率间的过渡比较光滑
n阶Butterworth低通滤波器的传递函数为:
式中,D0为截止频率。
=1时,
=0.5,它的特性是传递函数比较平滑,连续衰减,而不像理想滤波器那样陡峭变化,即明显的不连续。
因此采用该滤波器滤波在抑制噪声的同时,图像边缘的模糊程度大大减小,没有振铃效应产生,如图2.1所示。
图2.1Butterworth低通滤波效果
阶数对振铃现象的影响:
阶数越高,越明显,如图2.2所示
图2.2阶数对振铃现象的影响
2.4频率域高斯(Gaussian)低通滤波器
高斯(Gaussian)低通滤波器的传递函数为:
其中,为标准偏差。
通过令=D0,我们可以根据截止参数D0得到表达式:
当D(u,v)=D0时,滤波器H(u,v)由最大值1下降为0.607。
GLPF没有振铃现象,但与阶数为2的BLPF相比,其通带要宽些,这样对应的空间滤波器的灰度级轮廓更窄些,因而平滑效果要差些。
以上两种滤波器,振铃现象从严重到无,但平滑效果从好到差,BLPF可以看成ILPF和GLPF的过渡,阶为1时与GLPF差不多,阶越高越接近BPLG.
图2.3高斯(Gaussian)低通滤波器对于不同的D0值的滤波效果
3程序设计
程序除了有题目中要求的对该图像作Fourier变换,得到其频谱图像外,还扩展了调用了函数colorbar给一个坐标轴对象添加加一条色带,该色带可以指示出该图像中不同颜色的数据值,以显示出图像的灰度级,功能较多。
程序中很多地方都有输入提示,有一定的人机交互。
3.1算法设计(程序设计流程图)
算法流程图如图3.1所示:
图3.1程序设计流程图
3.2对灰度图像进行Fourier变换的程序
I=imread('Testpicture.jpg');
f=double(I);%数据类型转换,MATLAB不支持图像的无符号整型的计算
g=fft2(f);
figure,imshow(log(1+abs(fftshift(g))),[])%将频谱显示为一幅图像
title('原图Fourier变换后频谱图');
3.3二阶巴特沃斯(Butterworth)低通滤波程序
此函数的功能为:
使用巴特沃斯低通滤波原理实现图像柔和平滑,为便比较,通过设置不同的d0值运行程序,如果对各个d0一起运行,运行速度奇慢,所以对各个d0单独运行。
I=imread('Testpicture.jpg');
imshow(I);title('原图');
s=fftshift(fft2(I));
[M,N]=size(s);%分别返回s的行数到M中,列数到N中
n=2;%对n赋初值
%BLPF滤波,d0=15,30,80
d0=input('请输入d0值:
');%初始化d0,d0依次取15,30,80
n1=floor(M/2);%对M/2进行取整
n2=floor(N/2);%对N/2进行取整
fori=1:
M
forj=1:
N
d=sqrt((i-n1)^2+(j-n2)^2);%点(i,j)到傅立叶变换中心的距离
h=1/(1+(d/d0)^(2*n));%BLPF滤波函数
s(i,j)=h*s(i,j);%BLPF滤波后的频域表示
end
end
s=ifftshift(s);%对s进行反FFT移动
%对s进行二维反离散的Fourier变换后,取复数的实部转化为无符号8位整数
s=uint8(real(ifft2(s)));
figure;%创建图形图像对象
imshow(s);%显示BLPF滤波处理后的图像
title('BLPF滤波(d0=15)');
3.4高斯(Gaussian)低通滤波程序
此函数的功能为:
使用高斯低通滤波原理实现图像越柔和平滑,为便比较,通过设置不同的d0值运行程序,如果对各个d0一起运行,运行速度奇慢,所以对各个d0单独运行。
(1)高斯低通滤波的功能子程序GauseLowPass()
functionLowPass=GauseLowPass(ima,Do)
%本函的功能为:
实现高斯低通滤波原理
%H(u,v)=exp(-D(u,v)^2/(2*Do^2));
[Row,Col]=size(ima);
ima=im2double(ima);
forix=1:
Row%滤波中心化
foriy=1:
Col
ima(ix,iy)=(-1)^(ix+iy)*ima(ix,iy);
end
end
FourIma=fft2(ima);%中心变换后的傅立叶变换
[FRow,FCol]=size(FourIma);
foru=1:
FRow%Do的高斯低通滤波器
forv=1:
FCol
D(u,v)=[(u-Row/2)^2+(v-Col/2)^2]^0.5;
factc=-D(u,v)^2/(2*Do^2);
H(u,v)=exp(factc);
G(u,v)=H(u,v)*FourIma(u,v);
end
end
IFourIma=ifft2(G);%高斯低通滤波后的反傅立叶变换
forix=1:
FRow%反傅立叶变换后*(-1)^(x+y)并取实部
foriy=1:
FCol
LowPass(ix,iy)=(-1)^(ix+iy)*IFourIma(ix,iy);
end
end
LowPass=real(LowPass);
(2)高斯低通滤波的主程序
functionmain()%主程序
ima=imread('Testpicture.jpg');
imshow(ima);
title('原图');
ima0=im2double(ima);
figure;
ima1=GauseLowPass(ima,input('请输入d0值:
'));%选取Do=15,30,80,调用自定义高斯低通滤波函数
imshow(ima1);%Do=15高斯低通滤波结果
title(sprintf('%d%s',15,':
高斯低通滤波结果'));
4结果与分析
4.1选择一幅256级的灰度图像
(1)在MTALAB文件夹中拷入个灰度图片,比如“Testpicture.jpg”文件,在MATLAB命令输入窗中,调用函数info=imfinfo('Testpicture.jpg');观查Testpicture.jpg是否为灰度图像。
在ColorType:
'grayscale'属性行如此显示,如图4.1所示,则说明以Testpicture.jpg命名的文件为灰度图像。
图4.1灰度图像的判别
(2)设选择的图像的名称为”Testpicture.jpg”,首先命令窗口输入f=imread('Testpicture.jpg')读取图像文件,然后输入”whosf”,以显示图像的信息如图4.2所示:
图4.2图像信息
从Class为uint8这一项信息可知图像的灰度级为256级。
(2)另外我们还可以通过函数colorbar给一个坐标轴对象添加加一条色带,该色带可以指示出该图像中不同颜色的数据值,以显示出图像的灰度级。
输入以下代码:
f=imread('Testpicture.jpg');
imshow(f);
colorbar;
可得到添加色带后的图像如图4.3所示,从图4.3可知该图像是数据类型为uint8的灰度图像,其灰度级范围从0~255,级灰度级为256。
图4.3添加色带后的灰度图
4.2对灰度图像进行Fourier变换后的频谱图
在MATLAB命令输入窗中,输入Fourier变换程序,按回车即生成Fourier变换后频谱图如图4.4所示:
图4.4原图Fourier变换后频谱图
4.3二阶巴特沃斯(Butterworth)低通滤波结果与分析
在MATLAB命令输入窗中,输入巴特沃斯(Butterworth)低通滤波程序,按回车即生成原图如图4.5,Do=15的二阶Butterworth低通滤波结果如图4.6所示,Do=30的二阶Butterworth低通滤波结果如图4.7所示,Do=80的二阶Butterworth低通滤波结果如图4.8所示。
图4.5原图
图4.6Do=15的二阶Butterworth低通滤波结果
图4.7Do=30的二阶Butterworth低通滤波结果
图4.8Do=80的二阶Butterworth低通滤波结果
结果分析:
在任何经BLPF处理过的图像中都没有明显的振铃效果,这是滤波器在低频和高频之间的平滑过渡的结果。
低通滤波是一个以牺牲图像清晰度为代价来减少噪声干扰效果的修饰过程。
通过与原图相比较,从随着D0值分别取15,30,80滤波后得到的图像可以看出,D0的值越大图像越清晰。
巴特沃斯低通滤波器的优点是:
一、模糊大大减少。
因为包含了许多高频分量;
二、没有振铃现象。
因为滤波器是平滑连续的。
4.4高斯(Gaussian)低通滤波结果与分析
(1)在MATLAB命令输入窗中,输入高斯(Gaussian)低通滤波程序,按回车即生成原图如图4.9,Do=15的高斯低通滤波结果如图4.10所示,Do=30的高斯低通滤波结果如图4.11所示,Do=80的高斯低通滤波结果如图4.12所示
图4.9原图
图4.10Do=15的高斯低通滤波结果
图4.11Do=30的高斯低通滤波结果
图4.12Do=80的高斯低通滤波结果
结果分析:
通过与原图相比较,从随着D0值分别取15,30,80滤波后得到的图像可以看出,D0的值越大图像越清晰,高斯低通滤波器中,D0越大,所加的窗就越窄,那么说D0越大,所通过的频带是较低的,所滤得的图像越柔和平滑。
4.5两种滤波器的滤波结果的比较
(1)巴特沃斯低通滤波器
在任何经巴特沃斯低通滤波处理过的图像中都没有明显的振铃效果,这是滤波器在低频和高频之间的平滑过渡的结果。
低通滤波是一个以牺牲图像清晰度为代价来减少噪声干扰效果的修饰过程。
巴特沃斯低通滤波器的优点是:
1、模糊大大减少。
因为包含了许多高频分量;
2、没有振铃现象。
因为滤波器是平滑连续的。
(2)高斯低通滤波器
高斯低通滤波后得到的图像,高斯低通滤波器没有振铃现象,但与阶数为2的巴特沃斯低通滤波器相比,其通带要宽些,这样对应的空间滤波器的灰度级轮廓更窄些,因而平滑效果要差些。
(3)巴特沃思滤波器和高斯滤波器滤去的频率和通过的频率之间没有明显的不连续性,图像的模糊程度降低,而且也没有振铃效应,这是由于在低频和高频之间,滤波器平滑过渡的缘故。
5心得体会
经过两周的努力,总算把专业综合课程设计做完了。
通过该课程设计,全面系统的理解了数字图像处理的一般原理和基本实现方法。
把死板的课本知识变得生动有趣,激发了学习的积极性。
把学过的数字图像处理基础原理的知识强化,能够把课堂上学的知识通过自己编写的程序表示出来,加深了对理论知识的理解。
在这次课程设计中,我先是认真阅读课本上的相关知识,理解透后又翻阅关于Matlab的书籍,学习Matlab中一些函数及运算符的用法。
总体来说,这次课设我学到了很多。
在设计过程中,加深了对可内知识的理解就,真正懂得了学以致用,熟悉了Matlab的使用,了解了Matlab在数字图像处理中的重大应用。
做课程设计我体会到了设计的艰辛的同时,更让我体会到成功的喜悦和快乐.这次数字图像处理课程设计,虽然短暂但是让我得到多方面的提高:
首先,提高了我们的对Matlab语言的运用能力。
以前也曾用Matlab做过课程设计,但以前写的程序既没有人机交互功能,这次课程设计首次运用模块化思想,将多个功能分模块编写,然后通过主函数调用,并且有一定的人机交互。
Matlab程序设计中也有顺序、选择、循环三种结构,这一点和C语言很像。
其次,掌握了数字图像的原理及运用Matlab进行图像处理的方法。
通过Matlab中提供的图片读取函数可以将一幅黑白图片转换为二维数组,然后运用C语言里掌握的编程思想和图像处理的原理,就能编写出相应程序。
以前用过photoshop之类的软件进行过图像处理,但未能理解数字图像处理的本质。
通过此次课程设计,能够自己编写函数来进行图像处理,有一种成就感。
最后,查阅参考书和资料的独立思考的能力以及培养非常重要。
Matlab我们在设计程序时,遇到很多不曾用过的函数,如colorbar。
一方面我们可以查看教材和参考书,另一方面通过网络为我们提供了丰富的学习资源,我们可以快速的在网上查到某个函数的详细用法说明,还能找到很多别人的程序。
参考文献
[1]杨杰,黄朝兵.《数字图像处理及MATLAB实现》.电子工业出版社,2010.2
[2]张强,王正林.《精通MATLAB图像处理》.电子工业出版社,1997
[3]冈萨雷斯.《数字图像处理(MATLAB版)》.电子工业出版社,2005.9
[4]陈怀琛.《MATLAB及其在课程中的应用指南》.西安电子科技大学出版社,2000
[5]朱习军.《MATLAB在信号与系统与图象处理中的应用》.电子工业出版社,2002
本科生课程设计成绩评定表
姓名
陈德松
性别
男
专业班级
电信0901
课程设计题目:
图像频率域低通滤波处理程序设计
课程设计答辩或质疑记录:
成绩评定依据:
最终评定成绩(以优、良、中、及格、不及格评定)
指导教师签字:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图像 频率 域低通 滤波 处理 程序设计