MATLAB对一张图像做傅里叶变换FFT的意义,已经图像功率谱绘制

我知道傅里叶变换时将时域变换成频域,但太早学的了,联系不起来了。我现在是将一幅图做傅里叶变换,取其幅值和频率分别作图,我想问下,这两幅图代表了图像的什么东西?是每个像素之间的差还是什么?

第二个问题是我想绘制图像的功率谱,和白噪声做对比,是画FFT后的幅值的平方是吧?还有图像的功率代表了什么意义呢?

感谢!

冈萨雷斯版<图像处理>里面的解释非常形象:一个恰当的比喻是将傅里叶变换比作一个玻璃棱镜。棱镜是可以将光分解为不同颜色的物理仪器,每个成分的颜色由波长(或频率)来决定。

傅里叶变换可以看作是数学上的棱镜,将函数基于频率分解为不同的成分。当我们考虑光时,讨论它的光谱或频率谱。同样, 傅立叶变换使我们能通过频率成分来分析一个函数。

图像傅立叶变换的物理意义

图像的频率是表征图像中灰度变化剧烈程度的指标,是灰度在平面空间上的梯度。如:大面积的沙漠在图像中是一片灰度变化缓慢的区域,对应的频率值很低;而对于地表属性变换剧烈的边缘区域在图像中是一片灰度变化剧烈的区域,对应的频率值较高。傅立叶变换在实际中有非常明显的物理意义,设f是一个能量有限的模拟信号,则其傅立叶变换就表示f的谱。从纯粹的数学意义上看,傅立叶变换是将一个函数转换为一系列周期函数来处理的。从物理效果看,傅立叶变换是将图像从空间域转换到频率域,其逆变换是将图像从频率域转换到空间域。换句话说,傅立叶变换的物理意义是将图像的灰度分布函数变换为图像的频率分布函数,傅立叶逆变换是将图像的频率分布函数变换为灰度分布函数

傅立叶变换以前,图像(未压缩的位图)是由对在连续空间(现实空间)上的采样得到一系列点的集合,我们习惯用一个二维矩阵表示空间上各点,则图像可由z=f(x,y)来表示。由于空间是三维的,图像是二维的,因此空间中物体在另一个维度上的关系就由梯度来表示,这样我们可以通过观察图像得知物体在三维空间中的对应关系。为什么要提梯度?因为实际上对图像进行二维傅立叶变换得到频谱图,就是图像梯度的分布图,当然频谱图上的各点与图像上各点并不存在一一对应的关系,即使在不移频的情况下也是没有。傅立叶频谱图上我们看到的明暗不一的亮点,实际上图像上某一点与邻域点差异的强弱,即梯度的大小,也即该点的频率的大小(可以这么理解,图像中的低频部分指低梯度的点,高频部分相反)。一般来讲,梯度大则该点的亮度强,否则该点亮度弱。这样通过观察傅立叶变换后的频谱图,也叫功率图,我们首先就可以看出,图像的能量分布,如果频谱图中暗的点数更多,那么实际图像是比较柔和的(因为各点与邻域差异都不大,梯度相对较小),反之,如果频谱图中亮的点数多,那么实际图像一定是尖锐的,边界分明且边界两边像素差异较大的。对频谱移频到原点以后,可以看出图像的频率分布是以原点为圆心,对称分布的。将频谱移频到圆心除了可以清晰地看出图像频率分布以外,还有一个好处,它可以分离出有周期性规律的干扰信号,比如正弦干扰,一副带有正弦干扰,移频到原点的频谱图上可以看出除了中心以外还存在以某一点为中心,对称分布的亮点集合,这个集合就是干扰噪音产生的,这时可以很直观的通过在该位置放置带阻滤波器消除干扰

另外我还想说明以下几点:

1、图像经过二维傅立叶变换后,其变换系数矩阵表明:

若变换矩阵Fn原点设在中心,其频谱能量集中分布在变换系数短阵的中心附近(图中阴影区)。若所用的二维傅立叶变换矩阵Fn的原点设在左上角,那么图像信号能量将集中在系数矩阵的四个角上。这是由二维傅立叶变换本身性质决定的。同时也表明一股图像能量集中低频区域。
2 、变换之后的图像在原点平移之前四角是低频,最亮,平移之后中间部分是低频,最亮,亮度大说明低频的能量大(幅角比较大)
温馨提示:内容为网友见解,仅供参考
无其他回答

MATLAB对一张图像做傅里叶变换FFT的意义,已经图像功率谱绘制
从纯粹的数学意义上看,傅立叶变换是将一个函数转换为一系列周期函数来处理的。从物理效果看,傅立叶变换是将图像从空间域转换到频率域,其逆变换是将图像从频率域转换到空间域。换句话说,傅立叶变换的物理意义是将图像的灰度分布函数变换为图像的频率分布函数,傅立叶逆变换是将图像的频率分布函数变...

matlab绘制图像的幅度谱 相位谱
首先要写出图像的函数,不妨设为f;然后求它的傅里叶变换g=fft(f);求幅度谱f1=atan(g);求相位谱f2=angle(g);stem(f1,'--','fill');stem(f2,'--','fill')

matlab怎么绘制出功率谱
f0=2*pi\/(lt*dt);%%%%f0是基频;fy=fft(yt);%%%%fy是fft变换得到的波谱;for i=1:1:lt f(i)=f0*(i-1);%%%%f是频率;P(i)=abs(fy(i))^2;%%%P是功率谱;end plot(f,P); %%%%画图;f的单位是秒分之一。就是频率。P是没有单位的,就是振幅大小。如果有那是yt单位的平...

如何用MATLAB绘制功率谱密度图形
回答:图片1 图片3 答案1:: function [t,omg,FT,IFT] = prefourier(Trg,N,OMGrg,K) % 输入参数: % Trg : 二维矢量,两个元素分别表示时域信号的起止时间; % N : 时域抽样数量; % OMGrg: 二维矢量,两个元素分别表示频谱的起止频率; % K : 频域抽样数量。 % 输出参数: % t : ...

FFT与MATLAB实现
MATLAB中提供“fft”函数,可直接对数据进行快速傅里叶变换。但FFT的本质仍然是DFT,得到的频谱用功率谱密度(PSD)定义,幅值表示单位带宽的幅值。N:样本点 采样频率[公式]FFT变换后横轴为频率轴,频谱图横坐标显示最大频率点为[公式](奈奎斯特采样定理),频率坐标间隔(频率分辨率)为[公式],最小能...

Matlab图像处理系列——频率域图像增强之傅里叶级数和傅里叶变换
幅度谱反映了不同频率的贡献比例,相位谱则包含了信号在各频率下的相位信息,而功率谱则是幅度谱的平方,表示了信号能量在不同频率分布的情况。幅度谱是频率域关注的重点,直接反映了频率信息。傅里叶变换的实质 傅里叶变换本质上是通过基变换实现的,任何三维欧氏空间中的向量都可以由一组正交单位向量...

MATLAB画功率谱密度的图形...求高手
xn=signal;;%信号 cxn=xcorr(xn,'unbiased'); %计算序列的自相关函数 CXk=fft(cxn,Nfft);%对自相关函数进行傅里叶变换 Pxx=abs(CXk);index=0:round(Nfft\/2-1);k=index*Fs\/Nfft;%频谱序列 subplot(3,1,3),plot(k,Pxx(index+1));%绘制功率谱曲线 首先确定一下数据位数 ...

PSD(功率谱密度)和调整后的FFT的幅度谱(Matlab代码实现)
在Matlab中,可以使用内置函数fft来计算快速傅里叶变换。对于长度小于1000点的信号,也可以使用自定义的嵌套函数Fast_Fourier_Transform(X, N)来进行计算,以提高计算效率。通过本文的介绍,读者可以深入理解功率谱密度和调整后的FFT幅度谱的计算方法及其在Matlab中的实现步骤,为实际应用提供有力支持。

Python和Matlab快速傅里叶变换fft程序
这包括生成频率点数组,与变换后数据一一对应,进而绘制幅度谱。对于幅度谱横坐标的生成和处理,仅取数组的一半来消除镜像副本。接着,修正幅值不准确问题,由于fft的本质是离散傅里叶变换,所得到的频谱是用功率谱密度定义的,需要据此对每个频率点的幅值进行修正才能得到真正的幅值。在幅度谱绘制完成后,...

Matlab中短时傅里叶变换 spectrogram和stft的用法
在Matlab中,进行短时傅里叶变换主要使用spectrogram和stft这两个函数。spectrogram函数提供了一种将数据分段加窗,做快速傅里叶变换(FFT)的方法,并在分段时存在重叠,因此一个向量的短时傅里叶变换结果会形成一个矩阵。使用spectrogram函数进行短时傅里叶变换,可以通过指定参数来调整变换的效果。例如,...

相似回答