实验三 图像的频域滤波
一、实验目的
1.掌握傅立叶变换及逆变换的基本原理 2.理解频域滤波的基本原理及方法 3.掌握进行图像的频域滤波的方法 二、实验内容及要求 1.傅立叶变换
1)读出图像,对其进行快速傅立叶变换,分别显示其幅度图像和相位图像。仅对相位部分进行傅里叶反变换后查看其结果图像。
2)仅对幅度部分进行傅里叶反变换后查看其结果图像。
3)将图像的傅立叶变换F置为其共轭后进行反变换,比较新生成图像与原始图像的差异。 2.平滑滤波器
1)设计理想低通滤波器,巴特沃斯低通滤波器和高斯低通滤波器,截止频率自选,分别给出各种滤波器的透视图。
2)读出图像,分别采用理想低通滤波器,巴特沃斯低通滤波器和高斯低通滤波器对其进行滤波 (截止频率自选)再做反变换,观察不同的截至频率下采用不同的低通滤波器得到的图像与原图像的区别,特别注意振铃效应,(提示)在频域滤波同样要注意填充问题,注意到(-1)x+y 3.锐化滤波器
1)设计理想高通滤波器,巴特沃斯高通滤波器和高斯高通滤波器,截止频率自选,分别给出各种滤波器的透视图。
2)读出图像,分别采用理想高通滤波器,巴特沃斯高通滤波器和高斯高通滤波器(截止频率自选)再做反变换,观察不同的截至频率下采用不同的低通滤波器得到的图像与原图像的区别。 三、实验原理与算法分析 1.频域增强
频域增强是利用图像变换方法将原来的图像空间中的图像以某种形式转换到其他空间中,然后利用该空间特有的性质方便的对图像进行处理,然后再转换回原来的图像空间中,从而得到处理后的图像。
频域增强的主要步骤是:
选择变换方法,将输入图像变换到频域空间;
在频域空间中,根据处理目的设计一个转移函数,并进行处理; 将所得到结果反变换得到增强的图像; 常用的频域增强方法有低通和高通。
2.图像的能量大部分集中在幅度普的低频和中频部分,而图像的边缘和噪声对应于高频部分,因此能降低高频成分幅度的滤波器就能减弱噪声的影响。有卷积定理,在频域实现低通滤波的数学表达式:G(u,v)=H(u,v)F(u,v) 1)理想低通滤波器(ILPF)
?1D(u,v)?D0H(u,v)??
?0D(u,v)?D0
2)巴特沃斯低通滤波器(BLPF)
1
H(u,v)? 1?[D(u,v)/D0]2n3)高斯低通滤波器(GLPF)
22 H(u,v)?e?D(u,v)/2D0 (??D0)3.高通滤波
由于图像中的细节部分与高频分量相对应,所以高通滤波可以对图像进行锐化处理,高通滤波与低通滤波相反,它使高频分量通过,使低频分量受到削弱。 1)理想高通滤波器(IHPF)
?0 if D(u,v)?D0 H(u,v)???1 if D(u,v)?D0
2) 巴特沃斯高通滤波器(BHPF) 1
H(u,v)?2n 1??D0/D(u,v)?3)高斯高通滤波器(GHPF) 2?D2(u,v)/2D0 H(u,v)?1?e图像经过高通滤波处理以后,会丢失许多低频成分,所以图像的平滑区基本上会消失,所以,可采用高频加强滤波来弥补,高频加强滤波即使在设计滤波器传递函数时,加上一个大于0或小于1的常数C,即 H ( u , v ) ? c,,于是滤波器结果为 H' ( u , v ) ? G'(u,v)?F(u,v)H'(u,v)?F(u,v)H(u,v)?cF(u,v)由上式可见,高频加强滤波在高通滤波的基础上保留了cF(u,v)的低频分量,运用这种滤波,可以取得比一般高通滤波效果较好的图像。 四、实验步骤 1.傅里叶变换
1)图像的快速傅立叶变换,分别显示其幅度图像和相位图像 >> F=imread('C:\\Program Files\\MATLAB\\R2009a\\work\\lena','bmp'); >> F1=fft2(F);
>> F2=log(1+abs(F1)); F3=fftshift(F1);
subplot(2,2,1);imshow(F); subplot(2,2,2);imshow(F2);
subplot(2,2,3); imshow(log(1+abs(F3)),[]); F4=angle(F1);
subplot(2,2,4);imshow(F4);
2)仅对相位部分做傅立叶反变换,查看其显示结果 close all
F=imread('C:\\Program Files\\MATLAB\\R2009a\\work\\lena','bmp'); >> F1=fft2(F); i=sqrt(-1);
f2=ifft2(exp(i*angle(F1))); >> subplot(1,2,1);imshow(F);
>> subplot(1,2,2);imshow(real(f2),[]);
3)仅对幅度部分做傅立叶反变换,查看其显示结果 close all
F=imread('C:\\Program Files\\MATLAB\\R2009a\\work\\lena','bmp'); F1=fft2(F);
>> f1=ifft(abs(F1));
>> subplot(1,2,1);imshow(F);
>> subplot(1,2,2);imshow(log(1+abs(f1)),[]);
4)将图像的傅立叶变换F置为其共轭后进行反变换,比较新生成图像与原始图像的差异。 close all
F=imread('C:\\Program Files\\MATLAB\\R2009a\\work\\lena','bmp'); >> F1=fft2(F);
>> F2=log(1+abs(F1)); >> F3=fftshift(F1);
>> F4=angle(F1); >> F5=-F4;
>> F6=double(F3*exp(F4)); >> F7=ifft2(F6);
>> subplot(1,2,1);imshow(F);
>> subplot(1,2,2);imshow(real(F7),[]);
2. 平滑滤波器
理想低通滤波器,巴特沃斯低通滤波器和高斯低通滤波器设计与滤波 1)设计一个大小为n*n,截止频率为0.2的二维理想低通滤波器 close all n=64;
filter=ones(n);
[f1,f2]=freqspace(n,'meshqrid'); r=sqrt(f1.^2+f2.^2);
subplot(1,2,1);mesh(f1,f2,r); cutoff_f=0.2;
filter(r>cutoff_f)=0;
subplot(1,2,2);mesh(filter);
相关推荐: