1、实验5 傅立叶变换实验五 傅立叶变换与频率域滤波一、实验目的1. 理解傅立叶变换;2. 熟悉MATLAB中各种傅立叶变换相关的函数;3. 掌握频域滤波的步骤以及MATLAB的实现方法;4. 理解频域滤波器与空域滤波器的关系。二、实验内容及步骤1、傅立叶变换及傅立叶反变换(1)傅立叶变换相关函数MATLAB提供了几个和傅立叶变换相关的函数。其说明如下:F=fft2(f); 二维傅立叶变换 real(F); 傅立叶变换的实部 imag(F); 傅立叶变换的虚部abs(F); 获得傅立叶频谱 fftshift(F); 将变换的原点移至频率矩形的中心 ifft2(F); 二维傅立叶反变换 iffshi
2、ft(F); 反中心平移(2)傅立叶频谱傅立叶频谱(傅立叶变换的幅度)反映了图像的频率成分。幅值谱的能量往往集中于中低频部分,并且中低频部分的能量反映了图像的实体。 图像的噪声往往集中于高频部分。下面的例子对课本中123页的图Fig4.03(a).jpg进行傅立叶变换,得到傅立叶频谱。例: x=imread(Fig4.03(a).jpg);F=fft2(x); %二维傅立叶变换FP=sqrt(real(F).2+imag(F).2); %计算傅立叶频谱,或者使用abs()函数imshow(uint8(FP) %显示傅立叶频谱,直流成分分布在四个边角figure(2); imshow(uint8
3、(fftshift(FP) % 中心平移的频谱图思考题1:对课本125页的图Fig4.04(a).jpg进行傅立叶变换,得到傅立叶频谱,为清楚地显示该谱,将其进行对数变换处理,增强其灰度细节。结果类似于图5_1。 图5_1 Fig4.04(a)的傅立叶谱x=imread(Fig4.04(a).jpg);F=fft2(x); FP=sqrt(real(F).2+imag(F).2); PP=fftshift(FP)imshow(x) figure(2); imshow(log(abs(PP)+1), )(3)傅立叶变换对将一幅图像进行傅立叶变换,再进行傅立叶反变换,可以得到原始图像。下面的例子对
4、课本中134页的图Fig4.11(a)进行傅立叶变换,然后再进行傅立叶反变换,观察并了解实现过程。理论上,经过傅立叶变换和傅立叶反变换,应该得到原始图像。比较fa和f,基本差不多。查看变量C的内容,可以看到他们之间还是有细微的差别的。例: close allf=imread(Fig4.11(a).jpg);F=fft2(f); %傅立叶变换ff=ifft2(F); %反傅立叶变换fa=real(ff); % 取实部subplot(2,2,1),imshow(f);subplot(2,2,2),imshow(F); %只显示变换的实部subplot(2,2,3),imshow(ff,);subp
5、lot(2,2,4),imshow(fa,);figure(2)C=fa-double(f); %反变换回来的图像和原图相减imshow(C,); %两者是有差别的2、频率域滤波按照频域滤波的步骤,在MATLAB中是很容易编程实现频域滤波。由于滤波器就是频率域中的函数,关键是如何构造滤波器函数。频域滤波的步骤为: 对图像进行傅立叶变换DFT, 即F(u,v); 傅立叶变换原点中心平移; 用滤波器函数H(u,v)乘以F(u,v); 将原点反中心平移; 傅立叶反变换; 取上一步结果中的实部,即频域滤波后的结果。(1) 低通滤波 低通滤波是使低频部分通过,而使高频部分受到抑制,从而使图像变得平滑。常
6、用的低通滤波有理想低通滤波、巴特沃斯低通滤波和高斯低通滤波。下面的例子实现了对课本135页图Fig4.11(a)进行理想低通滤波处理,截止频率D030。例:close allclear allf=imread(Fig4.11(a).jpg);% -构造理想低通滤波器-Hh Hw=size(f); %以图像的行列值作为滤波器的行列H(1: Hh,1: Hw)=0; %滤波器的初值为0x0=Hh/2; y0=Hw/2; % 滤波器的中心点for x=1:Hh for y=1:Hw if(sqrt(x- x0)*(x- x0)+(y-y0)*(y- y0)30) %理想高通滤波器 D0=15,D1=
7、30,D2=80 H(x,y)=1; end endend% -傅立叶变换及频域滤波-F=fft2(f); F=fftshift(F); %中心平移FF=F.*H; % 频域滤波。注意必须是点乘FFS=ifftshift(FF);g=ifft2(FF); % 傅立叶反变换g=abs(real(g); %取变换后的实部,并取绝对值% 显示并比较结果subplot(2,3,1), imshow(f); title(原图)subplot(2,3,2),imshow(H);title(理想高通滤波器)subplot(2,3,3), imshow(log(abs(F)+1), );title(频率谱)
8、%对数变换,便于显示结果subplot(2,3,4),imshow(log(abs(FF)+1), );title(频域滤波)subplot(2,3,5),imshow(g,);title(滤波结果)(1)15:(2)30:(3)80:思考题4:构造巴特沃思高通滤波器,并使用它对图Fig4.11(a).jpg进行高通滤波处理。其中阶数n=2,截止频率D0分别为15、30、80,和思考题3使用理想高通滤波器滤波结果进行比较和分析。注:巴特沃思高通滤波器(BHPF)的传递函数为:close allclear allf=imread(Fig4.11(a).jpg);% -构造理想高通滤波器-Hh H
9、w=size(f); %以图像的行列值作为滤波器的行列H(1: Hh,1: Hw)=0; %滤波器的初值为0x0=Hh/2; y0=Hw/2; % 滤波器的中心点for x=1:Hh for y=1:Hw if(sqrt(x- x0)*(x- x0)+(y-y0)*(y- y0)D) %理想高通滤波器 D0=15,D1=30,D2=80 H(x,y)=1/(1+D/sqrt(x- x0)*(x- x0)+(y-y0)*(y- y0)4); end endend% -傅立叶变换及频域滤波-F=fft2(f); F=fftshift(F); %中心平移FF=F.*H; % 频域滤波。注意必须是点乘
10、FFS=ifftshift(FF);g=ifft2(FF); % 傅立叶反变换g=abs(real(g); %取变换后的实部,并取绝对值% 显示并比较结果subplot(2,3,1), imshow(f); title(原图)subplot(2,3,2),imshow(H);title(理想高通滤波器)subplot(2,3,3), imshow(log(abs(F)+1), );title(频率谱) %对数变换,便于显示结果subplot(2,3,4),imshow(log(abs(FF)+1), );title(频域滤波)subplot(2,3,5),imshow(g,);title(滤波
11、结果)(1)15:(2)30:(3)80:三、频域滤波器的空间形式 由卷积定理我们知道,空间域滤波和频域滤波之间存在对应关系。频域滤波器在空间域存在对应的空间域滤波器。例: close allclear%-构造理想低通滤波器H(1:256,1:256)=0;x0= 256/2; y0= 256/2;for x=1:256 for y=1:256 if(sqrt(x- x0)*(x- x0)+(y-y0)*(y- y0)30) % 注1 H(x,y)=1; end endendfigureimshow(H,)fh=ifft2(H); %频域滤波器进行傅立叶反变换fh=fftshift(fh);f
12、igureimshow(log(1+abs(real(fh),)title(理想低通滤波器的空间形式) 程序:close allclear%-构造理想低通滤波器H(1:256,1:256)=0;x0= 256/2; y0= 256/2;for x=1:256 for y=1:256 if(sqrt(x- x0)*(x- x0)+(y-y0)*(y- y0)30) % 注1 H(x,y)=1; end endendsubplot(1,2,1),imshow(H,)fh=ifft2(H); %频域滤波器进行傅立叶反变换fh=fftshift(fh);subplot(1,2,2),imshow(log(1+abs(real(fh),)title(理想低通滤波器的空间形式)思考题5:观察截止频率分别为15、30、50时,理想低通滤波器的空间形式。了解:频域滤波器越窄,在空域的滤波器越宽,即空域滤波模板越大,滤除的低频成分越多,图像越模糊;以及理想低通滤波器的截止频率越小振铃现象越明显。15:30:50:四、实验报告及要求1、按照上述实验步骤把实验结果截图,并附上文字说明。2、回答思考题,写出实现的命令及实验结果截图。3、使用word文档写报告,交电子文档;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1