实验五 傅立叶变换与频率域滤波
二维傅里叶变换变换、性质和频域滤波
实验三 二维傅里叶变换变换、性质和频域滤波一、实验目的1、了解图像傅里叶变换的物理意义;2、掌握频域滤波原理;3、熟悉傅里叶变换的基本性质;4、熟练掌握FFT的变换方法及应用;5、通过实验了解二维频谱的分布特点;二、实验平台计算机和Matlab语言环境三、实验内容1、数字图像二维傅里叶变换及其对数显示2、频域滤波器处理图像3、二维傅里叶变换的性质(比例变换性、旋转、可分性)四、实验步骤1、二维傅里叶变换的性质1> 二维傅里叶变换构造一幅图像,在64×64的黑色背景中产生一个5个白条纹,对其进行傅里叶变换f = zeros(64,64);for j=1:5f(:,j*10:j*10+1)=1;endF=fft2(f);Fc=fftshift(F);subplot(1,2,1),imshow(f,[ ]);title('原始图像');subplot(1,2,2),imshow(abs(Fc),[ ]);title('图像傅里叶变换');2> 比例变换性将图像扩大到原来的2倍后对其进行傅里叶变换,观察图像与原始图像的差异、频谱的差异fresize=imresize(f,2);fresize=fresize(31:94,31:94);Fresize=fft2(fresize);Fc1=fftshift(Fresize);subplot(1,2,1),imshow(fresize,[ ]);title('图像扩大2倍');subplot(1,2,2),imshow(abs(Fc1),[ ]);title('图像扩大2倍后傅里叶');3> 旋转将图像旋转45度后对其进行傅里叶变换,观察图像与原始图像的差异、频谱的差异frotate=imrotate(f,45);%图像旋转Frotate=fft2(frotate);Fc2=fftshift(Frotate);%图像旋转后做傅里叶变换subplot(1,2,1),imshow(frotate,[ ]);title('图像旋转');subplot(1,2,2),imshow(abs(Fc2),[ ]);title('图像旋转后傅里叶');4> 可分性首先沿着图像的每一行计算一维变换,然后沿着中间结果的每一列计算一维变换,以此计算二维傅里叶for i=1:64fft_row(i,:)=fft(f(i,:));%沿着图像的每一行计算一维变换endfor j=1:64fft_col(:,j)=fft(fft_row(:,j));%沿着中间结果的每一列计算一维变换 endFc3=fftshift(fft_col);figure,imshow(abs(Fc3),[ ]);title('两次fft');2、数字图像二维傅里叶变换及其对数显示1> 首先构造一幅图像,对其进行傅里叶变换f = zeros(30,30);f(5:24,13:17) = 1; %构造一幅图像fF=fft2(f); %对f作二维傅里叶变换 S=abs(F); %因为F是复数,显示其模值subplot(1,2,1),imshow(f,[ ]);title('原始图像');subplot(1,2,2),imshow(S,[ ]);title('二维傅里叶频谱');2> 把低频分量移到图象中心,而把高频分量移到四个角上Fc=fftshift(F);figure,imshow(abs(Fc),[ ]);title('居中的频谱');3> 利用图象增强中动态范围压缩的方法增强2DFTS2=log(1+abs(Fc)); %使用对数变换后的频谱 ff=ifft2(F); %逆变换ff_real=real(ifft2(F)); %取实部figure,imshow(abs(S2),[ ]);title('使用对数变换后的频谱');3、频域滤波器1> 理想低通滤波读取一幅图像,傅里叶变换后作中心变换,取低频模板HLPF与原图像相乘;clcf = imread('C:\Users\000000\Desktop\exp\exp3\a.tif');F=fft2(f);Fc=fftshift(F);[M N]=size(f);HLPF= zeros(M,N);HLPF(M/2-50:M/2+50,N/2-50:N/2+50) = 1; %保留低频成分 Fc1=Fc.*HLPF; %理想低通滤波器处理F1=ifftshift(Fc1); %逆中心变换 ff1=ifft2(F1); %理想低通滤波后逆变换subplot(1,2,1),imshow(f,[ ]);title('原始图像');subplot(1,2,2),imshow(abs(ff1),[ ]);title('理想低通滤波器处理后的图像');2> 巴特沃斯低通滤波器函数dftuv提供了距离计算的网格数组输出为[U,V],D0=0.1*N;D=sqrt(U.^2+V.^2);[U,V]=dftuv(M,N);D0=0.1*N;D=sqrt(U.^2+V.^2);n=5;HBLPF=1./(1+(D/D0).^(2*n));HBLPF=fftshift(HBLPF);Fc2=Fc.*HBLPF;F2=ifftshift(Fc2);ff2=ifft2(F2);figure,imshow(abs(ff2),[ ]);title('巴特沃斯低通滤波器处理后的图像');3> 高斯低通滤波器HGLPF=exp(-(U.^2+V.^2)/(2*D0^2));HGLPF=fftshift(HGLPF);Fc3=Fc.*HGLPF;F3=ifftshift(Fc3);ff3=ifft2(F3);figure,imshow(abs(ff3),[ ]);title('高斯低通滤波器处理后的图像');4> 3种高通滤波器理想高通滤波器、巴特沃斯高通滤波器、高斯高通滤波器HHPF=1-HLPF;%理想高通滤波器传递函数HBHPF=1-HBLPF;%巴特沃斯高通滤波器传递函数HGHPF=1-HGLPF;%高斯高通滤波器传递函数Fc4=Fc.*HHPF;%理想高通滤波器处理Fc5=Fc.*HBHPF;%巴特沃斯高通滤波器处理Fc6=Fc.*HGHPF;%高斯高通滤波器处理F4=ifftshift(Fc4);ff4=ifft2(F4);%理想高通滤波后逆变换F5=ifftshift(Fc5);ff5=ifft2(F5);%巴特沃斯高通滤波后逆变换F6=ifftshift(Fc6);ff6=ifft2(F6);%高斯高通滤波后逆变换figure(3),subplot(2,2,1),imshow(f,[ ]);title('原始图像');subplot(2,2,2),imshow(abs(ff4),[ ]);title('理想高通滤波后的图像');subplot(2,2,3),imshow(abs(ff5),[ ]);title('巴特沃斯高通滤波后的图像');subplot(2,2,4),imshow(abs(ff6),[ ]);title('高斯高通滤波后的图像');六、思考题1.二维DFT的可分离性的意义?答:二维DFT的可分离性为我们提供了计算二维DFT的方法,即将一个二维傅里叶变换的运算分解为水平方向和垂直方向上的两次一维DFT运算。
图像的傅立叶变换与频域滤波
实验四 图像的傅立叶变换与频域滤波一、 实验目的1了解图像变换的意义和手段;2熟悉傅里叶变换的基本性质;3熟练掌握FFT 方法的应用;4通过实验了解二维频谱的分布特点;5通过本实验掌握利用MATLAB 编程实现数字图像的傅立叶变换。
6、掌握怎样利用傅立叶变换进行频域滤波7、掌握频域滤波的概念及方法8、熟练掌握频域空间的各类滤波器9、利用MATLAB 程序进行频域滤波二、 实验原理1应用傅立叶变换进行图像处理傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。
通过实验培养这项技能,将有助于解决大多数图像处理问题。
对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。
2傅立叶(Fourier )变换的定义对于二维信号,二维Fourier 变换定义为 :⎰⎰∞∞-+-==dxdy e y x f v u F y x f F vy ux j )(2),(),()},({π二维离散傅立叶变换为:∑∑-=+--==10)(2101),(),(N y N y u M x u j M x MN e y x f v u F π图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到。
实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。
3利用MATLAB 软件实现数字图像傅立叶变换的程序:I=imread(‘原图像名.gif’); %读入原图像文件imshow(I); %显示原图像fftI=fft2(I); %二维离散傅立叶变换sfftI=fftshift(fftI); %直流分量移到频谱中心RR=real(sfftI); %取傅立叶变换的实部II=imag(sfftI); %取傅立叶变换的虚部A=sqrt(RR.^2+II.^2);%计算频谱幅值A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225;%归一化figure; %设定窗口imshow(A); %显示原图像的频谱域滤波分为低通滤波和高通滤波两类,对应的滤波器分别为低通滤波器和高通滤波器。
如何利用傅里叶变换滤波
如何利用傅里叶变换滤波
傅里叶变换是一种将信号从时域(时间域)转换到频域的数学工具,它将信号分解为不同频率的正弦和余弦成分。
傅里叶变换在信号处理领域中被广泛应用,其中滤波是一个重要的应用之一。
以下是利用傅里叶变换进行滤波的一般步骤:
1.获取原始信号:首先,获取需要进行滤波处理的原始信号。
这可以是音频信号、图像、视频等各种类型的信号。
2.进行傅里叶变换:对原始信号进行傅里叶变换,将信号从时域转换到频域。
在计算机中,通常使用快速傅里叶变换(FFT)算法进行高效的计算。
3.分析频谱:分析得到的频谱,了解信号在频域中的成分。
频谱图显示了信号中不同频率的分布情况。
4.设计滤波器:根据频谱分析的结果,设计一个滤波器,选择要保留或去除的特定频率成分。
滤波器可以是低通、高通、带通或带阻滤波器,具体选择取决于应用需求。
5.应用滤波器:将设计好的滤波器应用于原始信号的频谱,得到经过滤波处理后的频谱。
6.逆傅里叶变换:对滤波后的频谱进行逆傅里叶变换,将信号重新转换到时域。
同样,可以使用快速傅里叶变换进行高效计算。
7.获取滤波后的信号:得到滤波后的信号,该信号在时域中已经受到了滤波器的影响,包含了原始信号中所选择的频率成分。
8.分析滤波效果:分析滤波后的信号,检查是否达到了期望的滤波效果。
可以通过比较滤波前后的频谱、波形等指标来评估。
需要注意的是,滤波器的设计和选择需要根据具体的应用需求来
进行,因为不同的应用可能对信号的特定频率成分有不同的要求。
傅里叶光学的实验报告(3篇)
第1篇一、实验目的1. 深入理解傅里叶光学的基本原理和概念。
2. 通过实验验证傅里叶变换在光学系统中的应用。
3. 掌握光学信息处理的基本方法,如空间滤波和图像重建。
4. 理解透镜的成像过程及其与傅里叶变换的关系。
二、实验原理傅里叶光学是利用傅里叶变换来描述和分析光学系统的一种方法。
根据傅里叶变换原理,任何光场都可以分解为一系列不同频率的平面波。
透镜可以将这些平面波聚焦成一个点,从而实现成像。
本实验主要涉及以下原理:1. 傅里叶变换:将空间域中的函数转换为频域中的函数。
2. 光学系统:利用透镜实现傅里叶变换。
3. 空间滤波:在频域中去除不需要的频率成分。
4. 图像重建:根据傅里叶变换的结果恢复原始图像。
三、实验仪器1. 光具座2. 氦氖激光器3. 白色像屏4. 一维、二维光栅5. 傅里叶透镜6. 小透镜四、实验内容1. 测量小透镜的焦距实验步骤:(1)打开氦氖激光器,调整光路使激光束成为平行光。
(2)将小透镜放置在光具座上,调节光屏的位置,观察光斑的会聚情况。
(3)当屏上亮斑达到最小时,即屏处于小透镜的焦点位置,测量出此时屏与小透镜的距离,即为小透镜的焦距。
2. 利用夫琅和费衍射测光栅的光栅常数实验步骤:(1)调整光路,使激光束通过光栅后形成衍射图样。
(2)测量衍射图样的间距,根据dsinθ = kλ 的关系式,计算出光栅常数 d。
3. 傅里叶变换光学系统实验实验步骤:(1)将光栅放置在光具座上,调整光路使激光束通过光栅。
(2)在光栅后放置傅里叶透镜,将光栅的频谱图像投影到屏幕上。
(3)在傅里叶透镜后放置小透镜,将频谱图像聚焦成一个点。
(4)观察频谱图像的变化,分析透镜的成像过程。
4. 空间滤波实验实验步骤:(1)将光栅放置在光具座上,调整光路使激光束通过光栅。
(2)在傅里叶透镜后放置空间滤波器,选择不同的滤波器进行实验。
(3)观察滤波后的频谱图像,分析滤波器对图像的影响。
五、实验结果与分析1. 通过测量小透镜的焦距,验证了透镜的成像原理。
频率域滤波
频率域滤波频率域滤波是经典的信号处理技术之一,它是将信号在时域和频域进行分析以达到信号处理中的一定目的的技术。
它在诸多技术方面有着广泛的应用,比如音频信号处理、通信信号处理、部分图像处理和生物信号处理等。
本文将从以下几个方面来介绍频率域滤波的基本原理:概念的介绍、频谱的概念、傅里叶变换的原理、频率域滤波的基本原理、应用场景。
一、概念介绍频率域滤波是一种信号处理技术,它可以将时域信号转换成频域信号,并根据信号特征在频率域中对信号进行处理以达到特定的目的,如去除噪声和滤波等。
一般来说,信号处理包括两个阶段:时域处理和频域处理。
时域处理会涉及到信号的时间特性,而频率域处理则涉及到信号的频率特性。
二、频谱概念频谱是指信号分析中信号频率分布的函数,它是信号的频率特性的反映。
一个信号的频谱是一个衡量信号的能量随频率变化的曲线。
通过对信号的频谱进行分析,可以提取出信号中不同频率成分的信息,从而对信号进行更深入的分析。
三、傅里叶变换傅里叶变换是将时域信号转换成频域信号的基本手段。
傅里叶变换是指利用线性无穷积分把一个函数从时域转换到频域,即将一个函数的时间属性转换为频率属性的过程。
傅里叶变换会将时域信号映射到频域,从而可以分析信号的频率分布情况。
四、频率域滤波的基本原理频率域滤波的基本原理是先将信号进行傅里叶变换,然后将信号在频域进行处理。
根据不同的应用需求,可以采用低通滤波、高通滤波或带通滤波等滤波器对信号进行处理,从而获得滤波后的信号。
最后,再将滤波后的信号进行反变换即可。
五、应用场景由于具有时域和频域双重处理功能,频率域滤波技术在诸多技术领域都有广泛应用。
例如,在音频信号处理方面,频率域滤波可以去除音频信号中的噪声,使得信号变得更加清晰。
此外,在以图像处理方面,频率域滤波技术可以有效去除图像中的多余信息,从而提高图像的质量。
在通信领域,频率域滤波技术可以应用于对通信信号的滤波和信号分离,从而有效提升信号的传输效率。
付里叶光学的空间频谱与空间滤波实验
付里叶光学的空间频谱与空间滤波实验实验内容:1.测小透镜的焦距f1(付里叶透镜f2=45.0CM).光路:直角三棱镜→望远镜(倒置)(出射应是平行光)→小透镜→屏2.夫琅和费衍射:光路:直角三棱镜→光栅→墙上布屏(此光路满足远场近似)(1)利用夫琅和费衍射测一维光栅常数;光栅方程:dsinθ=kλ其中,k=0,±1, ±2, ±3,…请自己选择待测量的量和求光栅常数的方法。
记录图样和 0级、±1级、±2级光斑的位置;(2)记录二维光栅的衍射图样.3.观察并记录下述傅立叶频谱面上不同滤波条件的图样或特征;光路:直角三棱镜→光栅→小透镜→滤波模板(位于空间频谱面上)→墙上屏(1)一维光栅:a.滤波模板只让 0级通过;b.滤波模板只让0、±1级通过;c.滤波模板只让0、±2级通过;(2)二维光栅:a.滤波模板只让含0级的水平方向一排点阵通过;b.滤波模板只让含0级的竖直方向一排点阵通过;c.滤波模板只让含0级的与水平方向成45O一排点阵通过;d.滤波模板只让含0级的与水平方向成135O一排点阵通过.4.“光”字屏滤波物面上是规则的光栅和一个汉字“光”叠加而成,在实验中要求得到如下结果:a.如何操作在像面上仅能看到像面上是横条纹或竖条纹,写出操作过程;b. 如何操作在像面上仅能看到像面上是空心“光”,写出操作过程.实验现象及数据分析:1屏上光点最小最亮时,测量小透镜到屏的距离即焦距。
f=(11.82+12.00+12.25)/3=12.02cm2夫琅和费衍射:光路:直角三棱镜→光栅→墙上布屏(此光路满足远场近似) (1)利用夫琅和费衍射测一维光栅常数;透镜与屏的距离 L=62.32-49.02=13.30cm 由公式dk λθθ∆=≈tan sin ()tan sin θθθ≈很小的情况下,在 可得l x k k d k*tan λθλ==d1=632.8×10-9×0.133/2.1×10-3=4.008×10-5mmd2=2×632.8×10-9×0.133/3.9×10-3=4.316×10-5mm d3=3×632.8×10-9×0.133/6.0×10-3=4.208×10-5mm 所以得光栅常数d=( d1 +d2 +d3)/3=4.284×10-5mm(2)二维光栅的衍射图样.3.观察并记录波条件的图样或特征(1)一维光栅:a.滤波模板只让0级通过有图样的轮廓,但看不到图样的精细结构。
傅里叶变换进行频率域滤波
傅里叶变换进行频率域滤波
傅里叶变换是一种在信号处理和图像处理中常用的数学工具,它可以将信号或图像从时间域或空间域转换到频率域。
在频率域滤波中,傅里叶变换扮演着重要的角色。
首先,傅里叶变换可以将信号或图像分解成不同的频率分量。
在频率域中,每个频率分量都有其对应的幅度和相位信息。
通过调整这些分量的幅度和相位,可以实现信号或图像的滤波效果。
其次,傅里叶变换可以用于设计各种滤波器。
例如,低通滤波器可以保留低频分量,抑制高频分量;高通滤波器则保留高频分量,抑制低频分量;带通滤波器可以保留某个频带内的分量,抑制其他频带;带阻滤波器则抑制某个频带内的分量,保留其他频带。
在频率域滤波过程中,首先需要对原始信号或图像进行傅里叶变换,将其转换到频率域。
然后,根据需要设计的滤波器类型和参数,对频率域中的分量进行相应的处理。
最后,将处理后的频率域信号再通过傅里叶反变换转换回时间域或空间域,得到滤波后的信号或图像。
需要注意的是,傅里叶变换虽然可以将信号或图像从时间域或空间域转换到频率域,但它并不能直接消除噪声或其他干扰。
因此,在频率域滤波过程中,可能需要结合其他技术手段,如噪声估计、滤波器设计等,以达到更好的滤波效果。
傅里叶变换和频率域滤波的介绍
傅立叶变换和频率域滤波的介绍序言.傅立叶变换的作用和意义1、下图中,最后一个波是由前面四个波组合而成的,是用傅立叶变换,可以很容易将其区分出来。
2、对比物理上对光谱的理解(赤橙黄绿青蓝紫、初中对光的三棱镜分解、高中对燃烧的钠元素所发出光的光谱分析实验),可以将傅立叶变换理解成“数学上的三棱镜”,傅立叶变换使我们能够通过频率成分来分析一个函数。
一.一维傅立叶变换及其反变换单变量连续函数f(x)的傅立叶变换F(u)定义为等式:(1)其中j=。
相反,给定F(u),通过傅立叶反变换可以获得f(x):(2)这两个等式组成了傅立叶变换对。
很明显,()F u 是一个复函数,即 ()()()F u R u jI u =+ (3)R(u)和I(u)分别是F(u)的实部和虚部,其中 (4) 称为傅立叶变换的幅度或频率谱,同时 (5) 称为变换的相角或相位谱。
在研究图像增强时,我们主要关心频率谱的性质。
所以需要定义的另一个量是功率谱,它被定义为傅立叶变换的平方:(6) 术语“谱密度”也用来指功率谱。
这些等式很容易扩展到两个变量u 和v 的情况:(7)类似地,反变换为:(8) 例1、已知()(0,0)x f x e x β-∂=>∂>,而且()0(0)f x t =<=。
则其傅立叶变换为: 2(2)00(2)(2)00222222()2(2)2(2)(2)2(2)2(2)(2)x j ux x j ux j u x j u xF u e e dx e dx e dx e j uj u j u j u j u j u u u j u u ππππββββπββππππββππββπππ+∞+∞-∂--∂++∞-∂+-∂++∞==-==∂+-∂-==∂+∂+∂-∂-=∂+∂=-∂+∂+⎰⎰⎰我们的兴趣在于离散函数,所以将不停留在这些数学定义中。
然而,在某些情况下,利用这些等式比利用它们的离散形式更容易证明二维傅立叶变换的性质。
傅里叶变换实验技术指南
傅里叶变换实验技术指南傅里叶变换是一种常用的信号处理技术,在信号处理、图像处理、通信系统等领域广泛应用。
本文将为读者介绍傅里叶变换的基本原理和实验技术,以及如何使用傅里叶变换进行信号分析和图像处理。
一、傅里叶变换的基本原理傅里叶变换是一种将时域信号转换为频域信号的技术。
它可以将任意信号表示成许多正弦函数和余弦函数的叠加,从而能够更好地理解和分析信号的频率特性。
傅里叶变换的基本公式如下:F(ω) = ∫ f(t) * e^(-jωt) dt其中,F(ω)表示频域信号,f(t)表示时域信号,e^(-jωt)是一个复指数函数,ω为角频率。
二、进行傅里叶变换的实验技术1. 准备实验设备进行傅里叶变换的实验需要准备一台能够生成和采集信号的函数发生器或信号发生器,一台傅里叶变换仪器(例如频谱仪)以及连接线缆。
2. 选择合适的信号选择一个合适的信号用作实验的输入信号。
可以选择包含不同频率分量的复合信号,也可以直接输入单一频率的正弦波信号。
3. 连接信号发生器和傅里叶变换仪器使用相应的连接线将信号发生器和傅里叶变换仪器连接起来。
确保连接的稳定和可靠。
4. 设置信号发生器根据实验需要调整信号发生器的参数,包括频率、振幅和偏移量等。
可以逐渐改变这些参数,观察傅里叶变换仪器上的频谱分布情况。
5. 观察频谱图形使用傅里叶变换仪器可以获得输入信号的频谱图形。
观察频谱图形可以帮助我们理解信号的频率成分和能量分布情况。
可以通过改变信号发生器的参数,比如频率、振幅和相位等,来观察频谱图形的变化。
6. 分析频谱特性通过观察频谱图形,可以分析信号的频率特性,比如频率成分的数量、幅度和相位等。
频谱图形通常以幅度谱和相位谱的形式呈现,可以进一步分析信号的谐波分量、峰值频率和谱带宽等。
7. 应用傅里叶变换进行信号处理傅里叶变换不仅可以用于分析信号的频谱特性,还可以应用于信号处理任务。
比如,傅里叶变换在图像处理中常用于频域滤波、频域增强和图像压缩等任务。
二维傅里叶变换变换、性质和频域滤波
实验三 二维傅里叶变换变换、性质和频域滤波一、实验目的1、了解图像傅里叶变换的物理意义;2、掌握频域滤波原理;3、熟悉傅里叶变换的基本性质;4、熟练掌握FFT的变换方法及应用;5、通过实验了解二维频谱的分布特点;二、实验平台计算机和Matlab语言环境三、实验内容1、数字图像二维傅里叶变换及其对数显示2、频域滤波器处理图像3、二维傅里叶变换的性质(比例变换性、旋转、可分性)四、实验步骤1、二维傅里叶变换的性质1> 二维傅里叶变换构造一幅图像,在64×64的黑色背景中产生一个5个白条纹,对其进行傅里叶变换f = zeros(64,64);for j=1:5f(:,j*10:j*10+1)=1;endF=fft2(f);Fc=fftshift(F);subplot(1,2,1),imshow(f,[ ]);title('原始图像');subplot(1,2,2),imshow(abs(Fc),[ ]);title('图像傅里叶变换');2> 比例变换性将图像扩大到原来的2倍后对其进行傅里叶变换,观察图像与原始图像的差异、频谱的差异fresize=imresize(f,2);fresize=fresize(31:94,31:94);Fresize=fft2(fresize);Fc1=fftshift(Fresize);subplot(1,2,1),imshow(fresize,[ ]);title('图像扩大2倍');subplot(1,2,2),imshow(abs(Fc1),[ ]);title('图像扩大2倍后傅里叶');3> 旋转将图像旋转45度后对其进行傅里叶变换,观察图像与原始图像的差异、频谱的差异frotate=imrotate(f,45);%图像旋转Frotate=fft2(frotate);Fc2=fftshift(Frotate);%图像旋转后做傅里叶变换subplot(1,2,1),imshow(frotate,[ ]);title('图像旋转');subplot(1,2,2),imshow(abs(Fc2),[ ]);title('图像旋转后傅里叶');4> 可分性首先沿着图像的每一行计算一维变换,然后沿着中间结果的每一列计算一维变换,以此计算二维傅里叶for i=1:64fft_row(i,:)=fft(f(i,:));%沿着图像的每一行计算一维变换endfor j=1:64fft_col(:,j)=fft(fft_row(:,j));%沿着中间结果的每一列计算一维变换 endFc3=fftshift(fft_col);figure,imshow(abs(Fc3),[ ]);title('两次fft');2、数字图像二维傅里叶变换及其对数显示1> 首先构造一幅图像,对其进行傅里叶变换f = zeros(30,30);f(5:24,13:17) = 1; %构造一幅图像fF=fft2(f); %对f作二维傅里叶变换 S=abs(F); %因为F是复数,显示其模值subplot(1,2,1),imshow(f,[ ]);title('原始图像');subplot(1,2,2),imshow(S,[ ]);title('二维傅里叶频谱');2> 把低频分量移到图象中心,而把高频分量移到四个角上Fc=fftshift(F);figure,imshow(abs(Fc),[ ]);title('居中的频谱');3> 利用图象增强中动态范围压缩的方法增强2DFTS2=log(1+abs(Fc)); %使用对数变换后的频谱 ff=ifft2(F); %逆变换ff_real=real(ifft2(F)); %取实部figure,imshow(abs(S2),[ ]);title('使用对数变换后的频谱');3、频域滤波器1> 理想低通滤波读取一幅图像,傅里叶变换后作中心变换,取低频模板HLPF与原图像相乘;clcf = imread('C:\Users\000000\Desktop\exp\exp3\a.tif');F=fft2(f);Fc=fftshift(F);[M N]=size(f);HLPF= zeros(M,N);HLPF(M/2-50:M/2+50,N/2-50:N/2+50) = 1; %保留低频成分 Fc1=Fc.*HLPF; %理想低通滤波器处理F1=ifftshift(Fc1); %逆中心变换 ff1=ifft2(F1); %理想低通滤波后逆变换subplot(1,2,1),imshow(f,[ ]);title('原始图像');subplot(1,2,2),imshow(abs(ff1),[ ]);title('理想低通滤波器处理后的图像');2> 巴特沃斯低通滤波器函数dftuv提供了距离计算的网格数组输出为[U,V],D0=0.1*N;D=sqrt(U.^2+V.^2);[U,V]=dftuv(M,N);D0=0.1*N;D=sqrt(U.^2+V.^2);n=5;HBLPF=1./(1+(D/D0).^(2*n));HBLPF=fftshift(HBLPF);Fc2=Fc.*HBLPF;F2=ifftshift(Fc2);ff2=ifft2(F2);figure,imshow(abs(ff2),[ ]);title('巴特沃斯低通滤波器处理后的图像');3> 高斯低通滤波器HGLPF=exp(-(U.^2+V.^2)/(2*D0^2));HGLPF=fftshift(HGLPF);Fc3=Fc.*HGLPF;F3=ifftshift(Fc3);ff3=ifft2(F3);figure,imshow(abs(ff3),[ ]);title('高斯低通滤波器处理后的图像');4> 3种高通滤波器理想高通滤波器、巴特沃斯高通滤波器、高斯高通滤波器HHPF=1-HLPF;%理想高通滤波器传递函数HBHPF=1-HBLPF;%巴特沃斯高通滤波器传递函数HGHPF=1-HGLPF;%高斯高通滤波器传递函数Fc4=Fc.*HHPF;%理想高通滤波器处理Fc5=Fc.*HBHPF;%巴特沃斯高通滤波器处理Fc6=Fc.*HGHPF;%高斯高通滤波器处理F4=ifftshift(Fc4);ff4=ifft2(F4);%理想高通滤波后逆变换F5=ifftshift(Fc5);ff5=ifft2(F5);%巴特沃斯高通滤波后逆变换F6=ifftshift(Fc6);ff6=ifft2(F6);%高斯高通滤波后逆变换figure(3),subplot(2,2,1),imshow(f,[ ]);title('原始图像');subplot(2,2,2),imshow(abs(ff4),[ ]);title('理想高通滤波后的图像');subplot(2,2,3),imshow(abs(ff5),[ ]);title('巴特沃斯高通滤波后的图像');subplot(2,2,4),imshow(abs(ff6),[ ]);title('高斯高通滤波后的图像');六、思考题1.二维DFT的可分离性的意义?答:二维DFT的可分离性为我们提供了计算二维DFT的方法,即将一个二维傅里叶变换的运算分解为水平方向和垂直方向上的两次一维DFT运算。
实验四 图像的傅立叶变换与频域滤波
实验四 图像的傅立叶变换与频域滤波一、 实验目的1了解图像变换的意义和手段;2熟悉傅里叶变换的基本性质;3熟练掌握FFT 方法的应用;4通过实验了解二维频谱的分布特点;5通过本实验掌握利用MATLAB 编程实现数字图像的傅立叶变换。
6、掌握怎样利用傅立叶变换进行频域滤波7、掌握频域滤波的概念及方法8、熟练掌握频域空间的各类滤波器9、利用MATLAB 程序进行频域滤波二、 实验原理1应用傅立叶变换进行图像处理傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。
通过实验培养这项技能,将有助于解决大多数图像处理问题。
对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。
2傅立叶(Fourier )变换的定义对于二维信号,二维Fourier 变换定义为:⎰⎰∞∞-+-==dxdy e y x f v u F y x f F vy ux j )(2),(),()},({π二维离散傅立叶变换为:∑∑-=+--==10)(2101),(),(N y N y u M x u j M x MNe y xf v u F π图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到。
实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。
3利用MATLAB 软件实现数字图像傅立叶变换的程序:I=imread(‘原图像名.gif ’); %读入原图像文件imshow(I); %显示原图像fftI=fft2(I); %二维离散傅立叶变换sfftI=fftshift(fftI); %直流分量移到频谱中心RR=real(sfftI); %取傅立叶变换的实部II=imag(sfftI); %取傅立叶变换的虚部A=sqrt(RR.^2+II.^2);%计算频谱幅值A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225;%归一化figure; %设定窗口imshow(A); %显示原图像的频谱域滤波分为低通滤波和高通滤波两类,对应的滤波器分别为低通滤波器和高通滤波器。
傅里叶光学实验
傅里叶光学的空间频谱与空间滤波实验11系09级X世杰日期2021年3月30日学号PB09210044实验目的:1.了解傅里叶光学中根本概念,如空间频率,空间频谱,空间滤波和卷积2.理解透镜成像的物理过程3.通过阿贝尔成像原理,了解透镜孔径对分辨率的影响实验原理:一、根本概念频谱面:透镜的后焦面空间函数:实质即光波照明图形时从图形反射或透射出来的光波可用空间两维复变函数空间频谱:一个复变函数f(x,y)的傅立叶变换为⎰⎰+)exp[,(F)]((π,u){,()}f=dxdyvyℑv-ux=yx2ifxyF(u,v)叫作f(x,y)的变换函数或频谱函数空间滤波:在频谱面上放一些光栅以提取某些频段的物信息的过程滤波器:频谱面上的光阑二、阿贝尔成像原理本质就是经过两次傅里叶变换,先是使单色平行光照在光栅上,经衍射分解成不同方向的很多束平行光,经过透镜分别在后焦面上形成点阵,然后代表不同空间频率的光束又在向面上复合而成像。
需要提及的是,由于透镜的大小有限,总有一局部衍射角度大的高频成分不能进入到透镜而被丢弃了,因此像平面上总是可能会丧失一些高频的信息,即在透镜的后焦平面上得到的不是物函数的严格的傅立叶变换〔频谱〕,不过只有一个位相因子的差异,对于一般情况的滤波处理可以不考虑。
这个光路的优点是光路简单,而且可以得到很大的像以便于观察。
物面透镜频谱面像面三、空间滤波器在频谱面上放置特殊的光阑,以滤去特定的光信号(1)单透镜系统(2)双透镜系统(3)三透镜系统四、空间滤波器的种类a.低通滤波:在频谱面上放如图2.4-3(1〕所示的光阑,只允许位于频谱面中心及附近的低频分量通过,可以滤掉高频噪音。
b.高通滤波:在频谱面上放如图2.4-3(2)所示的光阑,它阻挡低频分量而让高频分量通过,可以实现图像的衬度反转或边缘增强。
c.带通滤波:在频谱面上放如图2.4-3(3)所示的光阑,它只允许特定区域的频谱通过,可以去除随机噪音。
图像处理分析-FFT
cvReleaseMat( &src_lm);cvReleaseMat (& sum_src);cvReleaseMat (& sum_dst);return fourier;}〃DFT反变换Ipllmage *IDFT(lpllmage * fourier){IplImage* dst = cvCreatelmage(cvGetSize(fourier),IPL_DEPTH_8U,1);int dft_H, dft_W;dft_H = fourier->height;dft_W = fourier->width;CvMat *dst_Re = cvCreateMat(dft_H,dft_W, CV_64FC1); // double Re, Im;CvMat *dst_lm = cvCreateMat(dft_H,dft_W, CV_64FC1); //Imagin ary partCvMat *sum_dst =cvCreateMat(dft_H,dft_W, CV_64FC2); //2 chann els (dst_Re, dst_lm) CvMat *sum_src = cvCreateMat(dft_H,dft_W, CV_64FC2 );cvCon vert(fourier, sum_src);cvDFT(sum_src,sum_dst,CV_DXT_INV_SCALE,O);cvSplit(sum_dst,dst_Re,dst_lm,O,O);cvCo nvert(dst_Re, dst);cvReleaseMat( &dst_Re);cvReleaseMat (& dst_lm);cvReleaseMat (& sum_src);cvReleaseMat (& sum_dst);return dst;}//归一化,将灰度映射到0~255之间,并将能量最高的四角移到中心,生成图片频域能量图void BuildDFTImage(IplImage *fourier, Ipllmage *dst){Ipllmage *image_Re = 0, *image_lm = 0;image_Re = cvCreatelmage(cvGetSize(fourier), IPL_DEPTH_64F, 1);image_lm = cvCreatelmage(cvGetSize(fourier), IPL_DEPTH_64F, 1); //Imagi nary part cvSplit(fourier, image_Re, image_lm, 0, 0 );// Compute the magn itude of the spectrum Mag = sqrt(Re A2 + Im A2)cvPow( image_Re, image_Re, 2.0);cvPow( image_lm, image_lm, 2.0);cvAdd( image_Re, image_lm, image_Re);cvPow( image_Re, image_Re, 0.5 );cvReleaseImage(&im age」m);cvAddS(image_Re, cvScalar(1.0), image_Re); // 1 + MagcvLog(image_Re, image_Re ); // log(1 + Mag)〃重新安排傅里叶图像中心// Rearrange the quadrants of Fourier image so that the origin is at// the image cen terdouble minVal = 0, maxVal = 0;H_mat = cvCreateMat(fourier->height,fourier->width, CV_64FC2);for(i = 0; i < height; i++){for(j = 0; j < width; j++){ if(i > y &&j > x){ state = 3;}else if(i > y){state = 1;}else if(j > x){state = 2;}else{state = 0;} switch(state){ case 0:tempD = (double)sqrt(1.0*i * i + j * j);break;case 1:tempD = (double)sqrt(1.0*(height - i) * (height - i) + j * j);break;case 2:tempD = (double)sqrt(1.0*i * i + (width - j) * (width - j));break;case 3:tempD = (double)sqrt(1.0*(height - i) * (height - i) + (width - j) * (width - j));break; default:break;} switch(FLAG){case IDEAL_LOW: if(tempD <= D0){((double*)(H_mat->data.ptr + H_mat->step * i))[j * 2] = 1.0; ((double*)(H_mat->data.ptr+ H_mat->step * i))[j * 2 + 1] = 0.0;}else{((double*)(H_mat->data.ptr + H_mat->step * i))[j * 2] = 0.0; ((double*)(H_mat->data.ptr+ H_mat->step * i))[j * 2 + 1] = 0.0;} break;case IDEAL_HIGH: if(tempD <= D0){ ((double*)(H_mat->data.ptr + H_mat->step * i))[j * 2] = 0.0;((double*)(H_mat->data.ptr + H_mat->step * i))[j * 2 + 1] = 0.0;}else{((double*)(H_mat->data.ptr + H_mat->step * i))[j * 2] = 1.0; ((double*)(H_mat->data.ptr+ H_mat->step * i))[j * 2 + 1] = 0.0;} break;case BW_LOW:tempD = 1 / (1 + pow(tempD / D0, 2 * n));((double*)(H_mat->data.ptr + H_mat->step * i))[j * 2] = tempD; ((double*)(H_mat->data.ptr +H_mat->step * i))[j * 2 + 1] = 0.0; break;问题:DFT 变换后图像全为黑色。
频率域滤波 ppt课件
傅立叶变换可看成“数学的棱镜”,将函数基于频率分成不同的成分.
使我们能够通过频率成分来分析一个函数。
ppt课件
8
4.2 傅立叶变换和频率域的介绍
用极坐标表示F(u)比较方便:
F (u) | F (u) | e j (u)
其中 | F (u) | R2 (u) I 2 (u)
(u)= arctan I (u)
f (x, y) F (u, v)e j2 (uxuy)dudv
ppt课件
6
4.2 傅立叶变换和频率域的介绍
离散形式的傅立叶变换:
F (u)
1
M 1
f (x)e j2ux/ M
M x0
u 0,1, 2,..., M 1
M 1
f (x) F (u)e j2ux/ M
ppt课件
28
4.2 傅立叶变换和频率域的介绍
f(m)
采用DFT 可以在频 率域进行 卷积运算, 但函数被 看成周期 函数,从而 会引起错 误。
h(m) h(-m) h(x-m)
f(x)*h(x)
ppt课件
傅立叶变换计算范围
29
4.2 傅立叶变换和频率域的介绍
避免周期混淆的办法: 假设f 和h分别由A个和B个点组成,那么对两个函数同时添加零,以使它们具有相同的周期 表示为P.这个过程产生扩展或延拓的函数,如下所示:
f (x, y)e j2 (u0x / M v0 y / N ) F (u u0 , v v0 ) f (x x0 , y y0 ) F (u, v)e j2 (u0x / M v0 y / N )
当u0 M / 2, v0 N / 2时,有: e j 2 (u0x / M v0 y / N ) e j (x y) (1)x y
在频率域中直接生成滤波器
3-3在频率域中直接生成滤波器一、 实验目的掌握在频率域中直接生成滤波器的方法二、 实验内容1.用GLPF 对图像滤波,D0 值为填充图像宽度的5%,观察滤波结果2.用GHPF 对图像滤波,D0 值为填充图像宽度的5%,观察滤波结果3.用BHPF 对图像高频强调滤波,n=2,观察滤波结果三、 实验步骤1.低通滤波器dftfilt dftuv1)读入图像clcclearf = imread('lena.jpg');2)傅立叶频谱图像F1 = fft2(f); % 注意F1 和下面F 的区别T=log(1+abs(fftshift(F1)));T= mat2gray(T);Imshow(T, []);title('傅立叶频谱图像')PQ = paddedsize(size(f));[U V] = dftuv(PQ(1),PQ(2));D0 = 0.05*PQ(2);F = fft2(f,PQ(1),PQ(2));z=log(1+abs(fftshift(F)));z=mat2gray(z);imshow(z,[]);title('傅立叶频谱图像')3)高斯低通滤波器频谱图像:H = exp(-(U.^2+V.^2)/(2*(D0^2)));imshow (fftshift(H),[])title('高斯低通滤波器频谱图像')g = dftfilt(f,H); %imshow (g,[])title('高斯低通处理后图像')2.绘制线框图mesh lpfilter 低通:clcclearH = fftshift(lpfilter('gaussian',500,500,50));mesh(H(1:10:500,1:10:500))axis([0 50 0 50 0 1])imshow (H,[])3.高通滤波器hpfilter 高通clcclearH = fftshift(hpfilter('ideal',500,500,100)); % 半径是100mesh(H(1:10:500,1:10:500))axis([0 50 0 50 0 1])colormap([0 0 0])axis offgrid offimshow(H,[])4.高通滤波clcclearf = imread('lena.jpg');PQ = paddedsize(size(f));D0 = 0.05*PQ(1); % 半径是D0H = hpfilter('gaussian',PQ(1),PQ(2),D0);g = dftfilt(f,H);imshow (g,[])title('高斯高通滤波后的图像')四、 实验总结通过本次实验,我掌握了在频率域中直接生成滤波器的方法,了解了图像的傅里叶变换,了解了高斯低通滤波、高通滤波的基本原理。
二维傅里叶变换变换、性质和频域滤波
实验三二维傅里叶变换变换、性质和频域滤波一、实验目的1、了解图像傅里叶变换的物理意义;2、掌握频域滤波原理;3、熟悉傅里叶变换的基本性质;4、熟练掌握FFT的变换方法及应用;5、通过实验了解二维频谱的分布特点;二、实验平台计算机和Matlab语言环境三、实验内容1、数字图像二维傅里叶变换及其对数显示2、频域滤波器处理图像3、二维傅里叶变换的性质(比例变换性、旋转、可分性)四、实验步骤1、二维傅里叶变换的性质1> 二维傅里叶变换构造一幅图像,在64×64的黑色背景中产生一个5个白条纹,对其进行傅里叶变换f = zeros(64,64);for j=1:5f(:,j*10:j*10+1)=1;endF=fft2(f);Fc=fftshift(F);subplot(1,2,1),imshow(f,[ ]);title('原始图像');subplot(1,2,2),imshow(abs(Fc),[ ]);title('图像傅里叶变换');2> 比例变换性将图像扩大到原来的2倍后对其进行傅里叶变换,观察图像与原始图像的差异、频谱的差异fresize=imresize(f,2);fresize=fresize(31:94,31:94);Fresize=fft2(fresize);Fc1=fftshift(Fresize);subplot(1,2,1),imshow(fresize,[ ]);title('图像扩大2倍');subplot(1,2,2),imshow(abs(Fc1),[ ]);title('图像扩大2倍后傅里叶');3> 旋转将图像旋转45度后对其进行傅里叶变换,观察图像与原始图像的差异、频谱的差异frotate=imrotate(f,45);%图像旋转Frotate=fft2(frotate);Fc2=fftshift(Frotate);%图像旋转后做傅里叶变换subplot(1,2,1),imshow(frotate,[ ]);title('图像旋转');subplot(1,2,2),imshow(abs(Fc2),[ ]);title('图像旋转后傅里叶');4> 可分性首先沿着图像的每一行计算一维变换,然后沿着中间结果的每一列计算一维变换,以此计算二维傅里叶for i=1:64fft_row(i,:)=fft(f(i,:));%沿着图像的每一行计算一维变换 endfor j=1:64fft_col(:,j)=fft(fft_row(:,j));%沿着中间结果的每一列计算一维变换 endFc3=fftshift(fft_col);figure,imshow(abs(Fc3),[ ]);title('两次fft');2、数字图像二维傅里叶变换及其对数显示1> 首先构造一幅图像,对其进行傅里叶变换f = zeros(30,30);f(5:24,13:17) = 1; %构造一幅图像fF=fft2(f); %对f作二维傅里叶变换S=abs(F); %因为F是复数,显示其模值 subplot(1,2,1),imshow(f,[ ]);title('原始图像');subplot(1,2,2),imshow(S,[ ]);title('二维傅里叶频谱');2> 把低频分量移到图象中心,而把高频分量移到四个角上Fc=fftshift(F);figure,imshow(abs(Fc),[ ]);title('居中的频谱');3> 利用图象增强中动态范围压缩的方法增强2DFTS2=log(1+abs(Fc)); %使用对数变换后的频谱ff=ifft2(F); %逆变换ff_real=real(ifft2(F)); %取实部figure,imshow(abs(S2),[ ]);title('使用对数变换后的频谱');3、频域滤波器1> 理想低通滤波读取一幅图像,傅里叶变换后作中心变换,取低频模板HLPF与原图像相乘;clcf = imread('C:\Users\000000\Desktop\exp\exp3\a.tif');F=fft2(f);Fc=fftshift(F);[M N]=size(f);HLPF= zeros(M,N);HLPF(M/2-50:M/2+50,N/2-50:N/2+50) = 1; %保留低频成分Fc1=Fc.*HLPF; %理想低通滤波器处理F1=ifftshift(Fc1); %逆中心变换ff1=ifft2(F1); %理想低通滤波后逆变换 subplot(1,2,1),imshow(f,[ ]);title('原始图像');subplot(1,2,2),imshow(abs(ff1),[ ]);title('理想低通滤波器处理后的图像');2> 巴特沃斯低通滤波器函数dftuv提供了距离计算的网格数组输出为[U,V],D0=0.1*N;D=sqrt(U.^2+V.^2);[U,V]=dftuv(M,N);D0=0.1*N;D=sqrt(U.^2+V.^2);n=5;HBLPF=1./(1+(D/D0).^(2*n));HBLPF=fftshift(HBLPF);Fc2=Fc.*HBLPF;F2=ifftshift(Fc2);ff2=ifft2(F2);figure,imshow(abs(ff2),[ ]);title('巴特沃斯低通滤波器处理后的图像');3> 高斯低通滤波器HGLPF=exp(-(U.^2+V.^2)/(2*D0^2));HGLPF=fftshift(HGLPF);Fc3=Fc.*HGLPF;F3=ifftshift(Fc3);ff3=ifft2(F3);figure,imshow(abs(ff3),[ ]);title('高斯低通滤波器处理后的图像');4> 3种高通滤波器理想高通滤波器、巴特沃斯高通滤波器、高斯高通滤波器HHPF=1-HLPF;%理想高通滤波器传递函数HBHPF=1-HBLPF;%巴特沃斯高通滤波器传递函数HGHPF=1-HGLPF;%高斯高通滤波器传递函数Fc4=Fc.*HHPF;%理想高通滤波器处理Fc5=Fc.*HBHPF;%巴特沃斯高通滤波器处理Fc6=Fc.*HGHPF;%高斯高通滤波器处理F4=ifftshift(Fc4);ff4=ifft2(F4);%理想高通滤波后逆变换F5=ifftshift(Fc5);ff5=ifft2(F5);%巴特沃斯高通滤波后逆变换。
频率域的滤波PPT课件
fhb(x, y)= Af(x, y)- flp(x, y)
• 高频提升与高通的关系
fhb(x, y)=(A-1) f(x, y)+fhp(x, y)
第90页/共100页
• Hhp(u,v)=1- Hlp(u,v) • Hhb(u,v)=(A-1)+Hhp (u,v)
• 高频加强
Hhfe(u,v)=a+bHhp(u,v)
第47页/共100页
第48页/共100页
第49页/共100页
第50页/共100页
第51页/共100页
第52页/共100页
第53页/共100页
第54页/共100页
第55页/共100页
低通滤波是一个以牺牲图像清晰度为代价 来减少干扰效果的修饰过程
第56页/共100页
第57页/共100页
第67页/共100页
第68页/共100页
4.4频率域锐化滤波器
因为图像中的边缘及急剧变化部分与高频分量 有关,所以当利用高通滤波器衰减图像信号中的低 频分量时就会相对地强调其高频分量,从而加强了 图像中的边缘及急剧变化部分,达到图像尖锐化的 目的。
第69页/共100页
4.4频率域锐化滤波器
注意:进行处理的图像必须有较高的信噪比,否则图像锐化后, 图像信噪比会更低。
第17页/共100页
第18页/共100页
第19页/共100页
第20页/共100页
第21页/共100页
第22页/共100页
第23页/共100页
第24页/共100页
第25页/共100页
第26页/共100页
第27页/共100页
第28页/共100页
第29页/共100页
数字图像处理之频率滤波
实验四、频域滤波一、实验目的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))变换后的实部图像中心平移后图像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))title('F|(u,v)|')subplot(1,3,3),imshow(uint8(y1/256))title('中心平移')2.频域滤波的步骤a.求图象的傅立叶变换得F=fft2(x)b.用函数F=fftshit(F) 进行移位c.生成一个和F 一样大小的滤波矩阵H .d.用F和H相乘得到G , G=F.*He.求G的反傅立叶变换得到g 就是我们经过处理的图象。
这其中的关键就是如何得到H 。
3.理想低通滤波器a.函数dftuv( )在文件夹中,它用生成二维变量空间如:[U V]=dftuv(11,11)b.生成理想低通滤波器>>[U V]=dftuv(51,51);D=sqrt(U.^2+V.^2);H=double(D<=15);Mesh(U,V,H)c.应用以上方法,对图象cameraman.tif进行低通滤波;>> close allQ=0.7F=imread('cameraman.tif')[U V]=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=fft2(F);G=FF.*H;imshow(real(fftshift(FF)))figureimshow(real(fftshift(G)))g=real(ifft2(G));figureimshow(uint8(g))在以原点为圆心,以D0为半径的圆内无衰减的通过所有频率而在该圆外切断所有频率的二维低通滤波器,称为理想低通滤波器。
实验五傅立叶变换与频率域滤波
实验五傅立叶变换与频率域滤波一、实验目的1.理解傅立叶变换;2.熟悉MATLAB中各种傅立叶变换相关的函数;3.掌握频域滤波的步骤以及MATLAB的实现方法;4.理解频域滤波器与空域滤波器的关系。
二、实验内容及步骤1、傅立叶变换及傅立叶反变换(1)傅立叶变换相关函数MATLAB提供了几个和傅立叶变换相关的函数。
其说明如下:F=fft2(f); 二维傅立叶变换real(F); 傅立叶变换的实部imag(F); 傅立叶变换的虚部abs(F); 获得傅立叶频谱fftshift(F); 将变换的原点移至频率矩形的中心ifft2(F); 二维傅立叶反变换iffshift(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(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);Image=log(1+double(fftshift(FP)));imshow(x);figure(2);imshow(Image,[]);(3)傅立叶变换对将一幅图像进行傅立叶变换,再进行傅立叶反变换,可以得到原始图像。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五傅立叶变换与频率域滤波一、实验目的1.理解傅立叶变换;2.熟悉MATLAB中各种傅立叶变换相关的函数;3.掌握频域滤波的步骤以及MATLAB的实现方法;4.理解频域滤波器与空域滤波器的关系。
二、实验内容及步骤1、傅立叶变换及傅立叶反变换(1)傅立叶变换相关函数MATLAB提供了几个和傅立叶变换相关的函数。
其说明如下:F=fft2(f); 二维傅立叶变换real(F); 傅立叶变换的实部imag(F); 傅立叶变换的虚部abs(F); 获得傅立叶频谱fftshift(F); 将变换的原点移至频率矩形的中心ifft2(F); 二维傅立叶反变换iffshift(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(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);Image=log(1+double(fftshift(FP)));imshow(x);figure(2);imshow(Image,[]);(3)傅立叶变换对将一幅图像进行傅立叶变换,再进行傅立叶反变换,可以得到原始图像。
下面的例子对课本中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,[]);subplot(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) 低通滤波低通滤波是使低频部分通过,而使高频部分受到抑制,从而使图像变得平滑。
常用的低通滤波有理想低通滤波、巴特沃斯低通滤波和高斯低通滤波。
下面的例子实现了对课本135页图Fig4.11(a)进行理想低通滤波处理,截止频率D 0=30。
理想低通滤波函数:001((,)0H u v ≤⎧=⎨⎩,D u,v)D ,D(u,v)>D ,221/2(,)[(/2)(/2)]D u v u M v N =-+- 例: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:Hhfor y=1:Hwif(sqrt((x- x0)*(x- x0)+(y-y0)*(y- y0))<30) %理想低通滤波器D0=30 H(x,y)=1;endendend% -----------傅立叶变换及频域滤波---------F=fft2(f);F=fftshift(F); %中心平移FF=F.*H; % 频域滤波。
注意必须是点乘FFS=ifftshift(FF);g=ifft2(FFS); % 傅立叶反变换g=uint8(real(g)); %取变换后的实部% 显示并比较结果figure(1), imshow(f); title('原图')figure(2),imshow(H);title('理想低通滤波器')figure(3), imshow(log(abs(F)+1),[ ]);title('频率谱') %对数变换,便于显示结果figure(4), imshow(log(abs(FF)+1),[ ]);title('频域滤波')figure(5),imshow(g,[]);title('滤波结果')思考题2:参考上例,使用理想低通滤波器对图Fig4.11(a).jpg进行频域滤波。
将理想低通滤波器的截止频率D0分别设为15、30、80,对结果进行分析与比较。
clear 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:Hhfor y=1:HwH(x,y)=1/(1+(sqrt((x- x0)*(x- x0)+(y-y0)*(y- y0))/15)^4); %巴特沃斯低通滤波器D0=15endendend% -----------傅立叶变换及频域滤波---------F=fft2(f);F=fftshift(F); %中心平移FF=F.*H; % 频域滤波。
注意必须是点乘FFS=ifftshift(FF);g=ifft2(FFS); % 傅立叶反变换g=uint8(real(g)); %取变换后的实部% 显示并比较结果imshow(f); title('原图')figure(2);imshow(H);title('理想低通滤波器')figure(3);imshow(g,[]);title('滤波结果')思考题3:构造巴特沃思低通滤波器,并使用它对图Fig4.11(a).jpg 进行低通滤波处理。
其中阶数n=2,截止频率D0分别为15、30、80,和思考题2使用理想低通滤波器滤波结果进行比较和分析。
注:巴特沃思低通滤波器(BLPF )的传递函数为: 201(,)1[(,)/]n H u v D u v D =+,221/2(,)[(/2)(/2)]D u v u M v N =-+-f=imread('Fig4.11(a).jpg');% ------构造理想低通滤波器----------[Hh Hw]=size(f); %以图像的行列值作为滤波器的行列H(1: Hh,1: Hw)=0; %滤波器的初值为0x0=Hh/2; y0=Hw/2; % 滤波器的中心点for x=1:Hhfor y=1:HwH(x,y)=1/(1+(sqrt((x- x0)*(x- x0)+(y-y0)*(y- y0))/30)^4); %巴特沃斯低通滤波器 D0=30endendend% -----------傅立叶变换及频域滤波---------F=fft2(f);F=fftshift(F); %中心平移FF=F.*H; % 频域滤波。
注意必须是点乘FFS=ifftshift(FF);g=ifft2(FFS); % 傅立叶反变换g=uint8(real(g)); %取变换后的实部% 显示并比较结果imshow(f); title('原图')figure(2);imshow(H);title('巴特沃斯低通滤波器')figure(3);imshow(g,[]);title('滤波结果')(2)高通滤波高通滤波是使高频部分通过,而使低频部分受到抑制,从而使图像边缘锐化。
常用的高通滤波有理想高通滤波、巴特沃斯高通滤波和高斯高通滤波。
思考题4:参考理想低通滤波器的构造方法,构造理想高通滤波器,并使用它对图Fig4.11(a).jpg进行理想高通滤波处理。
截止频率D0分别为15、30、80,对结果进行分析和比较。
三、频域滤波器的空间形式由卷积定理我们知道,空间域滤波和频域滤波之间存在对应关系。
频域滤波器在空间域存在对应的空间域滤波器。
对频域滤波器进行反傅里叶变换、中心平移,然后取其实部,就得到对应的空间滤波器。
例:close allclear%-------构造理想低通滤波器----H(1:256,1:256)=0;x0= 256/2; y0= 256/2;for x=1:256for y=1:256if(sqrt((x- x0)*(x- x0)+(y-y0)*(y- y0))<30) % 注1H(x,y)=1;endendendfigureimshow(H,[])fh=ifft2(H); %频域滤波器进行傅立叶反变换fh=fftshift(fh);figureimshow(log(1+abs(real(fh))),[])title('理想低通滤波器的空间形式')思考题5:观察截止频率分别为15、30、80时,理想低通滤波器的空间形式。
了解:频域滤波器越窄,在空域的滤波器越宽,即空域滤波模板越大,滤除的低频成分越多,图像越模糊;以及理想低通滤波器的截止频率越小振铃现象越明显。
四、实验报告及要求1、按照上述实验步骤把实验结果截图,并附上文字说明。