资源描述:
《数字图像处理之频率滤波》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验四、频域滤波一、实验目的1.了解频域滤波的方法;2.掌握频域滤波的基本步骤。二、实验内容1.使用二维快速傅立叶变换函数fft2()及其反变换函数ifft2()对图象进行变换;2.自己编写函数生成各种频域滤波器;3.比较各种滤波器的特点。三、实验步骤1.图象的傅立叶变换a.对图象1.bmp做傅立叶变换。>>x=imread(‘1.bmp’);f=fft2(x);imshow(real(f))%显示变换后的实部图像figuref1=fftshift(f);imshow(real(f1))18变换后的实部图像中心平移
2、后图像a.对图象cameraman.tif进行傅立叶变换,分别显示变换后的实部和虚部图象。思考:18对图象cameraman.tif进行傅立叶变换,并显示其幅度谱
3、F(U,V)
4、。结果类似下图。显示结果命令imshow(uint8(y/256))程序如下:x=imread('cameraman.tif');f=fft2(x);f1=fftshift(f);y0=abs(f);y1=abs(f1);subplot(1,3,1),imshow(x)title('sourceimage')subplot(1,3,2),i
5、mshow(uint8(y0/256))title('F
6、(u,v)
7、')subplot(1,3,3),imshow(uint8(y1/256))title('中心平移')181.频域滤波的步骤a.求图象的傅立叶变换得F=fft2(x)b.用函数F=fftshit(F)进行移位c.生成一个和F一样大小的滤波矩阵H.d.用F和H相乘得到G,G=F.*He.求G的反傅立叶变换得到g就是我们经过处理的图象。这其中的关键就是如何得到H。2.理想低通滤波器a.函数dftuv()在文件夹中,它用生成二维变量空间如:[UV]=d
8、ftuv(11,11)b.生成理想低通滤波器>>[UV]=dftuv(51,51);D=sqrt(U.^2+V.^2);H=double(D<=15);Mesh(U,V,H)c.应用以上方法,对图象cameraman.tif进行低通滤波;18>>closeallQ=0.7F=imread('cameraman.tif')[UV]=dftuv(size(F,1),size(F,2));D=sqrt(U.^2+V.^2);H=double(D<=size(F,1)/2*Q);%修改系数Q为0.5,0.3,0.2FF=f
9、ft2(F);G=FF.*H;imshow(real(fftshift(FF)))figureimshow(real(fftshift(G)))g=real(ifft2(G));figureimshow(uint8(g))在以原点为圆心,以D0为半径的圆内无衰减的通过所有频率而在该圆外切断所有频率的二维低通滤波器,称为理想低通滤波器。思考:观察理想低通滤波器不同滤波半径对滤波结果的影响。即系数Q分别为0.7、0.5、0.3、0.2时,结果如何?并加以解释说明。closeall18Q1=0.7F=imread('ca
10、meraman.tif')[UV]=dftuv(size(F,1),size(F,2));D=sqrt(U.^2+V.^2);H=double(D<=size(F,1)/2*Q1);%修改系数Q为0.5,0.3,0.2FF=fft2(F);G=FF.*H;subplot(4,3,1),imshow(real(fftshift(FF)))subplot(4,3,2),imshow(real(fftshift(G)))title('Q=0.7')g=real(ifft2(G));subplot(4,3,3),imsho
11、w(uint8(g))Q2=0.5F=imread('cameraman.tif')[UV]=dftuv(size(F,1),size(F,2));D=sqrt(U.^2+V.^2);H=double(D<=size(F,1)/2*Q2);%修改系数Q为0.5,0.3,0.2FF=fft2(F);G=FF.*H;subplot(4,3,4),imshow(real(fftshift(FF)))subplot(4,3,5),imshow(real(fftshift(G)))title('Q=0.5')g=real(i
12、fft2(G));subplot(4,3,6),imshow(uint8(g))Q3=0.3F=imread('cameraman.tif')[UV]=dftuv(size(F,1),size(F,2));D=sqrt(U.^2+V.^2);H=double(D<=size(F,1)/2*Q3);%修改系数Q为0.5,0.3,0.2FF=fft2(F);18