资源描述:
《实验2图像的傅立叶变换》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验2图像的傅立叶变换一、实验目的1了解图像变换的意义和手段;2熟悉傅立叶变换的基本性质:3熟练掌握FFT变换方法及应用;4通过实验了解二维频的分布特点:5通过木实验掌握利用MATLAB编程实现数字图像的傅立叶变换。6评价人眼对图像幅频特性和相频特性的敏感度。二、实验原理1应用傅立叶变换进行阁像处理傅里叶变换是线性系统分析的一个奋力工具,它能够定暈地分析诸如数字化系统、采样点、电子放人器、卷积滤波器、噪音和显示点等的作川。通过实验培养这项技能,将奋助于解决人多数图像处理问题。对任何想在工作屮奋效放川数字图像处理技术的人來说,把吋间用在学习和掌握博垠叶变
2、换上是很有必耍的。2傅立叶(Fourier)变换的定义对于维信号,维Fourier变换定义为:OOOO(“,V)=JJ/(x,y)e'/2一)辦逆变换:OOOO二维离散傅立叶变换为:咖,*去广«)/=0人=0逆变换:f,k)=F(m,n)eNNNzw=o/i=o图像的傅立叶变换与一维信号的傅立叶变换变换一样,奋快速算法,具体参见参考书0,有关傅立叶变换的快速算法的程序不难找到。实际上,现在有实现傅立叶变换的芯片,可以实吋实现傅立叶变换。I=imread(‘原图像名.gif’);%读入原阁像文件imshow(I);%兄示原图像%二维离散傅立叶变换%直流分
3、量移到频谱屮心RR=rcal(sfftI);%取傅立叶变换的实部II=imag(sfftI);%取傅立叶变换的虚部A=sqrt(RR.A2+n.A2);%计兑频谱幅值A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225figure;%设定窗口imshow(A);%.ffi示原图像的频谱3利川MATLAB软件实现数字图像傅立叶变换的程序:%归一化三、实验步骤(要求预习实验内容,编写好实现每一步骤的程序,可以参考后面的参考程序)1.将图像内容读入内存;2.用Fourier变换算法,对网像作二维Fourier变换;3
4、.将K幅度谱进行搬移,在图像中心显示;4.用Fourier系数的幅度进行Fourier反变换;5•用Fourier系数的相位进行Fourier反变换;6.比较4、5的结果,评价人眼对图像幅频特性和相频特性的敏感度。7.记录和整理实验报告。实验仪器1.计算机;2.MATLAB程序;3.移动式存储器(软盘、U盘等)。4.记录用的笔、纸。五、实验报告内容1.叙述实验过程;2.提交实验的原始图像和结果图像。六、思考题1.傅里叶变换舟哪些重要的性质?2.图像的二维频谱在显示和处理时应注意什么?七、实验图片•••HIIIIIII難:aaaaaaaanumber.t
5、if参考程序:%傅立叶变换及阁象的频域处理clcclear;[l,map]=imread('rice.png');subplot(3,2,l),imshow(l,map),title('tei图象');[MN]=size(l);F=fft2(l);%汁算图象的二维傅立叶变换fftshift(F);%用于将变换后的图象频谱中心从矩阵的原点移到矩阵的中心%低通滤波器的设计Dcut=50;D0=150;Dl=250;foru=l:Mforv=l:ND(u,v)=sqrt(uA2+vA2);BUTTERH(u,v)=l/(l+(sqrt(2)-l)*(D(u,
6、v)/Dcut)A2);EXPOTH(u,v)=exp(log(l/sqrt(2))*(D(u/v)/Dcut)A2);ifD(u,v)<=200IDEALH(u,v)=l;elseIDEALH(u,v)=O;endifD(u,v)<=D0TRAPEH(u,v)=l;elseifD(u,v)<=DlTRAPEH(u,v)=(D(u/v)-Dl)/(DO-Dl);elseTRAPEH(u,v)=O;endendendIDEALG=IDEALH.*F;%先对图象作低通滤波IDEALfiltered=abs(ifft2(IDEALG)>;%再作傅立叶逆变换B
7、UTTERG=BUTTERH.*F;BUTTERfiltered=abs(ifft2(BUTTERG));EXPOTG=EXPOTH.*F;EXP0Tfiltered=abs(ifft2(EXP0TG));TRAPEG=TRAPEH.*F;TRAPEfiltered=abs(ifft2(TRAPEG));%显示不同滤波器的图象情况subplot{3,2,2),imshow(IDEALfiltered,map},title(•理想低通滤波器subplot(3,2,3)Jmshow(BUTTERfiltered,map),title('巴特沃思(Butte
8、rworth)滤波器•);subplot(3,2,4),imshow(EXPOTfiltere