整理数字图像处理之频率滤波Word格式.docx
《整理数字图像处理之频率滤波Word格式.docx》由会员分享,可在线阅读,更多相关《整理数字图像处理之频率滤波Word格式.docx(18页珍藏版)》请在冰豆网上搜索。
![整理数字图像处理之频率滤波Word格式.docx](https://file1.bdocx.com/fileroot1/2022-10/12/69ff5458-f439-4488-abb0-1b67d5d4af62/69ff5458-f439-4488-abb0-1b67d5d4af621.gif)
figure
f1=fftshift(f);
imshow(real(f1))
变换后的实部图像
中心平移后图像
b.对图象cameraman.tif进行傅立叶变换,分别显示变换后的实部和虚部图象。
思考:
对图象cameraman.tif进行傅立叶变换,并显示其幅度谱|F(U,V)|。
结果类似下图。
显示结果命令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),imshow(uint8(y0/256))
F|(u,v)|'
subplot(1,3,3),imshow(uint8(y1/256))
中心平移'
2.频域滤波的步骤
a.求图象的傅立叶变换得F=fft2(x)
b.用函数F=fftshit(F)进行移位
c.生成一个和F一样大小的滤波矩阵H.
d.用F和H相乘得到G,G=F.*H
e.求G的反傅立叶变换得到g就是我们经过处理的图象。
这其中的关键就是如何得到H。
3.理想低通滤波器
a.函数dftuv()在文件夹中,它用生成二维变量空间
如:
[UV]=dftuv(11,11)
b.生成理想低通滤波器
[UV]=dftuv(51,51);
D=sqrt(U.^2+V.^2);
H=double(D<
=15);
Mesh(U,V,H)
c.应用以上方法,对图象cameraman.tif进行低通滤波;
closeall
Q=0.7
F=imread('
[UV]=dftuv(size(F,1),size(F,2));
=size(F,1)/2*Q);
%修改系数Q为0.5,0.3,0.2
FF=fft2(F);
G=FF.*H;
imshow(real(fftshift(FF)))
imshow(real(fftshift(G)))
g=real(ifft2(G));
figure
imshow(uint8(g))
在以原点为圆心,以D0为半径的圆内无衰减的通过所有频率而在该圆外切断所有频率的二维低通滤波器,称为理想低通滤波器。
观察理想低通滤波器不同滤波半径对滤波结果的影响。
即系数Q分别为0.7、0.5、0.3、0.2时,结果如何?
并加以解释说明。
closeall
Q1=0.7
=size(F,1)/2*Q1);
subplot(4,3,1),imshow(real(fftshift(FF)))
subplot(4,3,2),imshow(real(fftshift(G)))
title('
Q=0.7'
subplot(4,3,3),imshow(uint8(g))
Q2=0.5
=size(F,1)/2*Q2);
subplot(4,3,4),imshow(real(fftshift(FF)))
subplot(4,3,5),imshow(real(fftshift(G)))
Q=0.5'
subplot(4,3,6),imshow(uint8(g))
Q3=0.3
=size(F,1)/2*Q3);
subplot(4,3,7),imshow(real(fftshift(FF)))
subplot(4,3,8),imshow(real(fftshift(G)))
Q=0.3'
subplot(4,3,9),imshow(uint8(g))
Q4=0.2
=size(F,1)/2*Q4);
subplot(4,3,10),imshow(real(fftshift(FF)))
subplot(4,3,11),imshow(real(fftshift(G)))
Q=0.2'
subplot(4,3,12),imshow(uint8(g))
随着Q值越小,即滤波半径越小,滤波后的图像越模糊,且滤波半径变小会出现振铃效应。
随着滤波器半径的增大,滤除的功率越来越少,导致模糊也越来越减弱。
4.巴特沃兹低通滤波器
f=imread('
PQ=size(f);
[UV]=dftuv(PQ
(1),PQ
(2));
D0=0.07*PQ
(2);
F=fft2(f,PQ
(1),PQ
(2));
%与F=fft2(f)相同
H=exp(-(U.^2+V.^2)/(2*(D0^2)));
%高斯低通
mesh(U,V,H)
G=F.*H;
imshow(real(fftshift(F)))
使用二阶巴特沃兹滤波器对图象cameraman.tif进行低通滤波。
H=1./(1+(D./d0).^(2*n));
d0取15、30、80,n=2表示二阶)
d0=30;
n=2;
D=sqrt(U.^2+V.^2);
H=1./(1+(D./d0).^(2*n))%d0取15、30、80,n=2表示二阶)%高斯低通
subplot(1,3,1)
subplot(1,3,2)
subplot(1,3,3)
5.高通滤波器(相当于锐化)
a.我们可以参照理想低通滤波器的思路,得到
>
H=double(D>
=115);
b.对图象cameraman.tif进行高通滤波
[UV]=dftuv(size(x,1),size(x,2));
=size(x,1)/2*0.4);
F=fft2(x);
w=histeq(g);
imshow(w)
高通滤波器会衰减傅里叶变换中的低频分量而不会扰乱高频信息。
D0越高,图像边缘越清晰,失真越小。
使用高斯高通滤波器对图象cameraman.tif进行高通滤波。
H1=1-exp(-(U.^2+V.^2)./(2*(D0^2)));
D0=15
H=1-exp(-(U.^2+V.^2)./(2*(D0^2)));
F=fft2(x);
subplot(3,2,1),imshow(uint8(g))
D0=15'
subplot(3,2,2),imshow(w)
D0=30
subplot(3,2,3),imshow(uint8(g))
D0=30'
subplot(3,2,4),imshow(w)
D0=80
subplot(3,2,5),imshow(uint8(g))
D0=80'
subplot(3,2,6),imshow(w)
用高斯高通滤波器对图像进行滤波后,相对于前面滤波器,图像会更加平滑。
四、实验心得与体会
通过这次实验,我学会并了解了许多有关数字图像处理方面的知识。
以前只是看着课本上的内容学习,对很多知识只是生分的了解,但是