数字图像处理综合设计图像频域滤波计.docx
《数字图像处理综合设计图像频域滤波计.docx》由会员分享,可在线阅读,更多相关《数字图像处理综合设计图像频域滤波计.docx(15页珍藏版)》请在冰豆网上搜索。
![数字图像处理综合设计图像频域滤波计.docx](https://file1.bdocx.com/fileroot1/2023-1/31/02ee560a-ca35-49b7-b0ce-8a5f9b857ba8/02ee560a-ca35-49b7-b0ce-8a5f9b857ba81.gif)
数字图像处理综合设计图像频域滤波计
附录
摘要
离散傅立叶变换(DFT)在数字信号处理和数字图像处理中应用十分广泛。
它建立了离散时域和离散之间的联系。
如果直接应用卷积和相关运算在时域中处理,计算量将随着取样点数的平方而增加,这使计算机的计算量大,很费时,很难达到实时处理的要求。
因此,一般可采用DFT方法,将输入的数字信号首先进行DFT变换,在频域中进行各种有效的处理,然后进行DFT反变换,恢复为时域信号。
这样用计算机对变换后的信号进行频域处理。
比在时域中直接处理更加方便,计算量也大大减少,提高了处理速度。
因此,DFT在数字图像处理领域中有很大的实用价值。
离散傅立叶变换还有一个明显的优点就是具有快速算法,即快速傅立叶算法(FastFourierTransform),它可以大大减少计算次数,使计算量减少到只是相当于直接使用离散傅立叶变换所用的一小部分。
并且,二维离散傅立叶变换很容易从一维的概念推广得到。
在数字图像处理中,二维离散傅立叶被广泛的应用于图像增强、复原、编码和分类中。
本文以离散傅里叶变换为例,窥一斑而见全豹的简述一下频域变换的重要作用。
离散傅立叶变换(DiscreteFourierTransform)简称DFT,在数字信号处理和数字图像处理中应用十分广泛,它建立了离散时域和离散之间的联系。
在数字图像处理中,二维离散傅立叶被广泛的应用于图像增强、复原、编码和分类中。
本课程设计是在MATLAB软件环境下读入图像,实现图像的离散傅立叶变换(DFT),并对系数进行分析,并对图像变换后的系数的分布特点进行分析和变换后的系数进行重新排列,将低频系数移到中心位置。
再在图像中加入特定频率的噪声,并运用各种滤波方法将其滤除。
关键词:
DFTMATLABGUI噪声滤波
一设计任务
当前,人类社会已经进入了信息社会。
信息是事物运动状态和特征的反映,它和材料及能量一起构成社会的三个要素。
但是,信息具有一些不同于材料和能量的特征。
信息具有普遍性,无损性,时空独立性,等等。
正是由于信息具有这些特征,因此,它和人类文明及社会发展的各个阶段都有密切的联系。
与其他学科一样,生物医学受到信息科学及技术的影响,进而相互渗透,融合。
由此产生的对生物和医学学科发展的促进作用也是显而易见的:
例如,X射线早在1895年已被发现,然而,只有在计算机技术快速发展和图像重建及处理方法得以实现的基础上,G.N.Hounsfield和A.M.Cormack才发明了X射线计算机断层扫描成像技术(XCT)并应用于医学。
图像重建方法包括二维平行光束和扇形束成像,三位平行线,平行面以及锥形束成像。
我们所用到的傅立叶变换就属于二维平行光束成像。
一般地说,人眼所能看到的实物就是处于一个相对的空间参考系中,而在空间域中的图像就是对物体光反射特性的一种具体表现。
因此,在空间域中定义的图像,其像素的坐标值确定了该像素的相对空间位置,图像中各像素的灰度值反映了物体在该点的光反射特性。
正式由于图像的空间域定义直接反也容易让人接受。
但是,有时为了使某种处理或运算更为简便或快速,或者为了更明显的表现图像的另一些特征也可以在其他域中来描述和处理图像,广义地将其称为变换域(transformdomain).比如,刚获得的图像有很多噪音。
这主要由于平时的工作和环境引起的,图像增强是减弱噪音,增强对比度。
想得到比较干净清晰的图像并不是容易的事情。
因此,可以通过在频域内对图像进行滤波来取出噪音。
这就是本次课设的核心内容,具体的:
题目:
图像频域滤波设计
1)获取图像;
2)采用DFT实现对图像的频域信号进行分析;
3)添加特定频率噪声;
4)滤除该频率噪声
题目基本条件:
MATLAB
2方案选择
滤波器(filter)是指减少或消除谐波对电力系统影响的电气部件。
是一种用来消除干扰杂讯的器件,将输入或输出经过过滤而得到纯净的直流电。
对特定频率的频点或该频点以外的频率进行有效滤除的电路,就是滤波器,其功能就是得到一个特定频率或消除一个特定频率。
其中数字滤波器是指与模拟滤波器相对应,在离散系统中广泛应用数字滤波器。
它的作用是利用离散时间系统的特性对输入信号波形或频率进行加工处理。
或者说,把输入信号变成一定的输出信号,从而达到改变信号频谱的目的。
数字滤波器一般可以用两种方法来实现:
一种方法是用数字硬件装配成一台专门的设备,这种设备称为数字信号处理机;另一种方法就是直接利用通用计算机,将所需要的运算编成程序让通用计算机来完成,即利用计算机软件来实现
按所处理的信号可分为模拟滤波器和数字滤波器两种。
按所通过信号的频段分为:
低通、高通、带通和带阻滤波器四种。
(1)低通滤波器:
它允许信号中的低频或直流分量通过,抑制高频分量或干扰和噪声;
(2)高通滤波器:
它允许信号中的高频分量通过,抑制低频或直流分量;
(3)带通滤波器:
它允许一定频段的信号通过,抑制低于或高于该频段的信号、干扰和噪声;
(4)带阻滤波器:
它抑制一定频段内的信号,允许该频段以外的信号通过。
本次设计由于所混杂的噪声信号为一个特定频率的周期噪声信号,理论上可用低通、高通、带阻滤波器都可以达到滤波效果。
但相对而言,对于噪声频率一定的信号选用带阻滤波器比较有现实意义,带阻滤波器可以针对性的滤除这一部分固定的噪声频率,以期达到最大程度的还原原图像信号。
对于本次设计,我所选用的是高斯带阻滤波器,其传递函数为:
图2—1高斯带阻滤波器幅频图
3详细设计
本次设计的主题为:
图像频域滤波设计,基本要求是:
获取图像;采用DFT实现对图像的频域信号进行分析;添加特定频率噪声;滤除该频率噪声。
故程序的运行过程也应该遵循此步骤,即:
获取图像、图像的DFT变换、生成噪声、添加噪声、滤除噪声。
3.1程序流程图
3.2关键原理
此程序大致可分为,三个大的模块:
图像操作、频谱操作、显示。
其中较为关键的是DFT变换和噪声信号的加入与滤除。
3.2.1DFT
傅立叶分析:
建立以时间为自变量的‘信号’和以频率为自变量的‘频谱函数’之间的关系。
离散周期序列的傅里叶级数(DFS),x(n)=x(n+N),习惯上:
(3.2.1)
(3.2.2)
以上两式称为离散周期序列的傅立叶级数(DFS),在时域周期为NTs、频域的周期s=2π/Ts=N0,并离散。
在DFS的基础上,只对时域和频域取一个周期,构成离散傅立叶变换对,即DFT:
(2.3)
二维离散函数
的傅立叶变换为:
(3.2.4)
傅立叶反变换为:
(3.2.5)
其中:
在数字图像处理中,图像取样一般是方阵,即
,则二维离散傅立叶变换公式为:
(3.2.6)
(3.2.7)
3.2.2频率域滤波器
原理:
时域卷积相当于频域乘积。
因此可以在频率域中直接设计滤波器,对信号进行恢复处理。
分类:
常用的图像恢复方法有带阻滤波器、带通滤波器、陷波滤波器等。
此次设计所选用的滤波器为带阻滤波器,带阻滤波器又可以分为理想带阻滤波器(3.2.8)、高斯带阻滤波器(3.2.9)、巴特沃斯带阻滤波器(3.2.10)等。
传递函数分别为:
(3.2.8)
(3.2.9)
(3.2.10)
图3.2.2—1理想带阻滤波器;图3.2.2—2巴特沃思带阻滤波;图3.2.2—3高斯带阻滤波器
频率与滤波器的具体滤波方法为:
将目标图像进行频率与变换,将时域图像转化为频域图像,然后再将其频域函数与相应滤波器的传递函数相乘,以得到滤波后的频谱。
最后将频域图像进行反频域变换,将其转换为时域图像加以显示。
具体公式为:
I(x,y)=I(x,y)*H(x,y)
其中I(x,y)为目标图像的频谱,H(x,y)为带阻滤波器的传递函数
3.3程序简要说明
3.3.1图像获取
该部分主要功能为获取一幅待处理的目标图像,并将其转化为灰度图像,同时进行DFT分析。
具体步骤为:
用imread函数获取一幅RGB图像,而后用rgb2gray函数将其转换为灰度图像,以便于后续操作。
关键程序如下:
a=imread('1.jpg','jpg');
b=rgb2gray(a);%将RGB图像转化为灰度图像
figure
(1);imshow(b);title('原灰度图像');
J=fftshift(fft2(b));%对灰度图像进行DFT变换
figure
(2);imshow(log(abs(J)),[810]);title('原灰度图像的频谱');
图3.3.1—1原灰度图像
3.3.2DFT变换
利用fftshift(fft2());函数对目标时域图像进行频谱分析,具体方法为离散傅里叶变换,并利用相关的数学运算,将高低频成分都行搬移、集中,并将零频移动至图像中央。
其中离散傅里叶变换的相关原理在前章已经说过这里不再冗述。
具体的程序为:
J=fftshift(fft2(b));%对灰度图像进行DFT变换
figure
(2);imshow(log(abs(J)),[810]);title('原灰度图像的频谱');
图3.3.2—1原灰度图像的DFT变换
3.3.3产生噪声信号
该部分主要功能为:
通过一系列的复杂运算生成一个与图片同等大小的噪声矩阵,并将此矩阵加载到图像上已生成一个受正弦噪声污染的图像,一边接下来的操作。
同时对噪声矩阵、加噪图像今天频谱分析。
用[m,n]=size();函数获取目的图像的大小,后通过一系列的运算生成一个与图像同等大小的噪声矩阵。
需要特别注意的是,在噪声矩阵生成完毕后,必须将其转换为8为无符号整型,以便于与图像矩阵的加运算,具体的生成函数为:
y=uint8()。
据体程序为:
[m,n]=size(b);
fori=1:
m;
forj=1:
n;
%c(i,j)=50*sin(200+0.5*pi*i)+50*sin(200+0.5*pi*j);
c(i,j)=50*sin(0.5*pi*(i+j));
end
end
图3.3.3—1噪声信号的时域图
3.3.4加噪声
将先前生成的噪声矩阵加载到图像上已生成一个受正弦噪声污染的图像,先用uint8();函数将噪声矩阵转换成8位无符号整型,然后对噪声信号与图像做加运算从而得到周期噪声受污染的图像。
具体程序为:
y=uint8(c);%将噪声矩阵转换成8位无符号整型
b=b+y;
figure(3);imshow(c);title('噪声图像');
K=fftshift(fft2(c));
figure(4);imshow(log(abs(K)),[810]);title('噪声频谱');
figure(5);imshow(b);title('添加周期噪声的图像');
B=fftshift(fft2(b));
figure(6);imshow(log(abs(B)),[810]);title('加噪图像的频谱');
图3.3.4—1加噪声后的图像频谱
3.3.5滤波器设计
由于考虑到此次所加的噪声信号为频率一定的周期性噪声信号,故此次选用的滤波器为高斯带阻滤波器,其传递函数为:
I2=fftshift(fft2(b));%傅立叶变换
[M,N]=size(I2);
D0=90;W=5;
m=fix(M/2);n=fix(N/2);
forx=1:
M
fory=1:
N
D(x,y)=((x-m).^2+(y-n).^2).^0.5;
%%%%%采用高斯带阻滤波处理周期噪声%%%%%%
H(x,y)=1-exp(-0.5*(((D(x,y).^2-D0^2)./D(x,y)/W)^2));
I2(x,y)=H(x,y)*I2(x,y);
end
end
I3=ifftshift(I2);%对s进行反FFT移动
图3.3.5—1高斯带阻滤波器频谱图
3.3.6用户界面设计
用户界面设计所采用的的方式为GUI。
GUI是GraphicalUserInterface的简称,即图形用户界面,通常人机交互图形化用户界面设计经常读做“goo-ee”准确来说GUI就是屏幕产品的视觉体验和互动操作部分。
GUI是一种结合计算机科学、美学、心理学、行为学,及各商业领域需求分析的人机系统工程,强调人—机—环境三者作为一个系统进行总体设计。
这种面向客户的系统工程设计其目的是优化产品的性能,使操作更人性化,减轻使用者的认知负担,使其更适合用户的操作需求,直接提升产品的市场竞争力。
GUI即人机交互图形化用户界面设计。
纵观国际相关产业在图形化用户界面设计方面的发展现状,许多国际知名公司早已意识到GUI在产品方面产生的强大增值功能,以及带动的巨大市场价值,因此在公司内部设立了相关部门专门从事GUI的研究与设计,同业间也成立了若干机构,以互相交流GUI设计理论与经验为目的。
随着中国IT产业,移动通讯产业,家电产业的迅猛发展,在产品的人机交互界面设计水平发展上日显滞后,这对于提高产业综合素质,提升与国际同等业者的竞争能力等等方面无疑起了制约的作用。
图3.3.6—1用户界面设计图样
4调试与运行
经过调试,最终的界面如下图所示:
经过测试,该程序基本能够完成所要求的功能:
1)获取图像,能够很好的读出磁盘中所存储的图像文件,并显示在界面相应的位置。
并且能够很好的保留图像的像素元素,以及相应色彩。
同时也能正确的转化显示出二值图像;
2)采用DFT实现对图像的频域信号进行分析,这里将二值图像进行二维离散Fourier变换处理,并将其坐标原点移到频谱中央;
3)添加特定频率噪声,此程序中向二值图像内添加了二维、特定频率的噪声信号,使图像出现噪点;
4)滤除该频率噪声,该部分用带阻滤波方法滤除了先前加在二值图像上的噪声信号,由于可预知噪声信号的频率,故可选用相应的阻带滤波器进行针对性滤波。
5总结
在图像处理的过程中,消除图像的噪声干扰是一个非常重要的问题。
本文利用matlab软件,采用频域滤波的方式,对图像进行相应的滤波处理。
数字滤波器分为带通滤波器和带阻滤波器。
其中带通滤波器较为常用,其又可分为低通滤波器和高通滤波器等:
低通滤波是要保留图像中的低频分量而除去高频分量,由于图像中的边缘和噪声都对应图像傅里叶频谱中的高频部分,所以低通滤波可以除去或消弱噪声的影响并模糊边缘轮廓;高通滤波是要保留图像中的高频分量而除去低频分量,所以高通滤波可以保留较多的边缘轮廓信息。
本文使用的低通滤波器有巴特沃斯滤波器和高斯滤波器,使用的高通滤波器有巴特沃斯滤波器、高斯滤波器、Laplacian高通滤波器以及Unmask高通滤波器。
而带阻滤波器,顾名思义就是针对性的滤除相应频率带的相关噪声信号,但同时也可能滤掉源图像中的相应信号。
因而,带通、带阻滤波器孰优孰劣不能一概而论,应该辩证的来考虑,事实上在实际应用中应该根据实际图像中包含的噪声情况灵活地选取适当的滤波算法。
本文就运用MATLAB实现各种数字滤波器进行了研究,总结本设计的研究成果,可归纳为以下几点:
1. 对MATLAB有了更加深刻的了解,这使得我能够把握本专业的发展方向 并结合个人兴趣而有目的地学习,为以后走上工作岗位打下基础。
2 .数字滤波是信号处理技术中的重要部分,研究了数字滤波器的基本理论、实现方法,学习了数字滤波器的结构、设计理论,掌握了各种数字滤波器的原理和特性,为各种数字滤波器的实现及今后从事相关方面的工作奠定了理论基础。
3 .研究了MATLAB环境下数字滤波器的设计方法,利用MATLAB软件编程实现数字滤波器设计,用MATLAB语言可以编写出各种类型的滤波器,并进行仿真。
当然本设计也存在着很大的问题,比如说功能上相对简单容易出错等,这些问题可以在以后的工作中继续完善。
经过这几天和同组同学的课程设计,因为时间和任务的性质的关系,没有完全按照标准测试方法进行测试,但经过一些简单的步骤的测试,证明本设计的图像提取、DFT变换、噪声的加入、去噪技术等的稳定性与实用性。
在设计的过程中我体会到了过程的快乐和结果的喜悦。
人们常常说不要看重结果,主要是过程,这几个月的过程也让我深深的体会到了自己知识的匮乏和掌握的不牢固为此在将来势必要不断地继续学习与深造,为此不断地完善自我。
参考文献
[1] 杨杰·数字图像处理及MATLAB实现·北京:
电子工业出版社,2011
[2] 罗军辉·MATLAB7.0在图像处理中的应用·北京:
电子工业出版社,2007
[3] 许录平·数字图像处理·北京:
科学出版社,2007
[4] 吴国平·数字图像处理原理·武汉:
中国地质大学出版社,2007
[5] 刘浩,韩晶·MATLAB完全自学一本通·北京:
电子工业出版社,2013
[6]史峰·MATLAB智能算法30个案例分析·北京:
北京航空航天大学出版社 ,2011
[7] 罗华飞·MATLABGUI设计学习手记·北京:
北京航空航天大学出版社,2011
[8] (美)穆尔著,高会生,刘童娜,李聪聪译·MATLAB实用教程(第二版)·北京:
电子工业出版社 ,2011
[9]周建兴·MATLAB从入门到精通)·北京:
人民邮电出版社,2012
[10]苏彦华·MATLAB7.0从入门到精通·北京:
人民邮电出版社2010
[11] 张强,王正林·精通MATLAB图像处理·北京:
电子工业出版社,2010