图像处理系列笔记: https://blog.csdn.net/qq_33208851/article/details/95335809
傅里叶变换是一种函数在空间域和频率域的变换,从空间域到频率域的变换是傅里叶变换,而从频率域到空间域是傅里叶的反变换
时域与频域:
信号在频率域的表现
在频域中,频率越大说明原始信号 变化速度越快;频率越小说明原始信号越平缓。当频率为0时,表示直流信号,没有变化。因此,频率的 大小反应了信号的变化快慢。高频分量解释信号的突变部分,而低频分量决定信号的整体形象。
在 图像处理中,频域反应了图像在空域灰度变化剧烈程度,也就是图像灰度的变化速度,也就是图像的梯度大小。对图像而言,图像的边缘部分是突变部分,变化较 快,因此反应在频域上是高频分量;图像的噪声大部分情况下是高频部分;图像平缓变化部分则为低频分量。也就是说,傅立叶变换提供另外一个角度来观察图像, 可以将图像从灰度分布转化到频率分布上来观察图像的特征。书面一点说就是,傅里叶变换提供了一条从空域到频率自由转换的途径。对图像处理而言,以下概念非 常的重要:
单变量连续函数f(x)的傅里叶变换F(u)定义为:
其中,j = 根号(-1)=±i
给定F(u),通过傅里叶反变换可以得到f(x):
二维连续函数f(x,y)的傅里叶变换F(u,v)定义为:
如果f(x,y)是实函数,它的傅里叶变换是对称的,即
单变量离散函数f(x)(x=0,1,2,…,M-1)的傅里叶变换F(u)定义为:
其中,u=0,1,2,…,M-1
从欧拉公式:
给定F(u),通过傅里叶反变换可以得到f(x):
其中,x=0,1,2,…,M-1
图像尺寸为M×N的函数f(x,y)的DFT为:
u=0,1,2,…,M-1, v=0,1,2,…,N-1
给出F(u,v),可通过反DFT得到f(x,y):
x=0,1,2,…,M-1, y=0,1,2,…,N-1
注:u和v是频率变量,x和y是空间域图像变量
F(0,0)表示:
这说明:假设f(x,y)是一幅图像,在原点的傅里叶变换等于图像的平均灰度级(M*N是总的像素点,f(x,y)是(x,y)点的灰度值,将所有的像素点的灰度值求和然后除以总的个数即为平均灰度值)
幅度或频率谱为:
R(u)和I(u)分别是F(u)的实部和虚部
相角或相位谱为:
功率谱为:
f(x)的离散表示:
F(u)的离散表示:
二维DFT的极坐标表示:
幅度或频率谱为:
R(u,v)和I(u,v)分别是F(u,v)的实部和虚部
相角或相位谱为:
功率谱为:
F(u,v)的原点变换:
用(-1)x+y乘以f(x,y),将F(u,v)原点变换到率坐标下的(M/2,N/2),它是M×N区域的中心
u=0,1,2,…,M-1, v=0,1,2,…,N-1
以⇔表示函数和其傅里叶变换的对应性
注:u和v是频率变量,x和y是空间域图像变量
公式(1)表明将f(x,y)与一个指数项相乘就相当于把其变换后的频域中心f(u,v) 移动到新的位置 f(u-uo,v-v0)
公式(2)表明将F(u,v)与一个指数项相乘就相当于把其变换后的空域中心f(x,y) 移动到新的位置 f(x-x0,y-y0)
公式(2)表明对f(x,y)的平移不影响其傅里叶变换的幅值
引入极坐标 x = r cosθ, y = rsinθ,u =ω cosϕ,v =ωsinϕ
将f(x,y)和F(u,v)转换为 f (r,θ ) 和F(ω,ϕ)。将它们带入傅里叶变换对得到:
f(x,y)旋转角度θ 0,F(u,v)也将转过相同的角度
F(u,v)旋转角度θ 0,f(x,y)也将转过相同的角度
尽管F(u,v)对无穷多个u和v的值重复出现,但只需根据在任一个周期里的N个值就可以从F(u,v)得到f(x,y)
只需一个周期里的变换就可将F(u,v)在频域里完全确定
同样的结论对f(x,y)在空域也成立
如果f(x,y)是实函数,则它的傅里叶变换具有共轭对称性
其中,F*(u,v)为F(u,v)的复共轭(当两个复数实部相等,虚部互为相反数时,这两个复数叫做互为共轭复数)
F(x,v)是沿着f(x,y)的一行所进行的傅里叶变换。当x=0,1,…,M-1,沿着f(x,y)的所有行计算傅里叶变换。
二维傅里叶变换的全过程
先通过沿输入图像的每一行计算一维变换
再沿中间结果的每一列计算一维变换
可以改变上述顺序,即先列后行
上述相似的过程也可以计算二维傅里叶反变换
由二维傅里叶变换的定义:
所以,
上式说明:如果f(x,y)是一幅图像,在原点的傅里叶变换即等于图像的平均灰度级
卷积是空间域过滤和频率域过滤之间的纽带
大小为M×N的两个函数f(x,y)和h(x,y)的离散卷积:
卷积定理:
相关的重要应用在于匹配:确定是否有感兴趣的物体区域
f(x,y)是原始图像
h(x,y)作为感兴趣的物体或区域(模板)
如果匹配,两个函数的相关值会在h找到f中相应点的位置上达到最大
大小为M×N的两个函数f(x,y)和h(x,y)的相关性定义为:
f* 表示f的复共轭。对于实函数,f*=f
相关定理:
自相关理论:
采用快速傅里叶变换(FFT)算法能使计算机计算离散傅里叶变换所需要的乘法次数大为减少,特别是被变换的抽样点数N越多,FFT算法计算量的节省就越显著。
函数或信号可以透过一对数学的运算子在时域及频域之间转换。和傅里叶变换作用一样。
人们想让计算机能处理信号 但由于信号都是连续的、无限的,计算机不能处理,于是就有了傅里叶级数、傅里叶变换,将信号由时域变到频域,把一个信号变为有很多个不同频率不同幅度的正弦信号组成,这样计算机就能处理了,但又由于傅里叶变换中要用到卷积计算,计算量很大,计算机也算不过来,于是就有了快速傅里叶变换,大大降低了运算量,使得让计算机处理信号成为可能。快速傅里叶变换是傅里叶变换的快速算法而已,主要是能减少运算量和存储开销,对于硬件实现特别有利。
FFT算法基于一个叫做逐次加倍的方法。通过推导将原始傅里叶转换成两个递推公式:
假设M的形式是
M = 2n, n为正整数。因此,M可以表示为:M = 2K 。将M=2K带入上式:
特性:
(1)通过计算两个单点的DFT,来计算两个点的DFT, (2)通过计算两个双点的DFT,来计算四个点的DFT,…,以此类推
(3)对于任何N=2m的DFT的计算,通过计算两个N/2点的DFT,来计算N个点的DFT
设:有函数f(x),其N = 23 = 8,有:{f(0),f(1),f(2),f(3),f(4),f(5),f(6),f(7)}
计算:
{F(0),F(1),F(2),F(3),F(4),F(5),F(6),F(7)}
解法:
首先分成奇偶两组,有:
{ f(0), f(2), f(4), f(6) }
{ f(1), f(3), f(5), f(7) }
为了利用递推特性,再分成两组,有:
{ f(0), f(4) }, { f(2), f(6) }
{ f(1), f(5) }, { f(3), f(7) }
对输入数据的排序可根据一个简单的位对换规则进行:
如用x表示f(x)的1个自变量值,那么它排序后对应的值可通过把x表示成二进制数并对换各位得到。例如N=23,f(6)排序后为f(3),因为6=1102而0112 =3
把输入数据进行了重新排序,则输出结果是正确的次序。反之不把输入数据进行排序,则输出结果需要重新排序才能得到正确的次序
地址的排序:——按位倒序规则
例如:N = 23 = 8
2)计算顺序及地址增量:2n, n = 0,1,2…
我们首先就可以看出,图像的能量分布,如果频谱图中暗的点数更多,那么实际图像是比较柔和的(因为各点与邻域差异都不大,梯度相对较小),反之,如果频谱图中亮的点数多,那么实际图像一定是尖锐的,边界分明且边界两边像素差异较大的。对频谱移频到原点以后,可以看出图像的频率分布是以原点为圆心,对称分布的。将频谱移频到圆心除了可以清晰地看出图像频率分布以外,还有一个好处,它可以分离出有周期性规律的干扰信号,比如正弦干扰,一副带有正弦干扰,移频到原点的频谱图上可以看出除了中心以外还存在以某一点为中心,对称分布的亮点集合,这个集合就是干扰噪音产生的,这时可以很直观的通过在该位置放置带阻滤波器消除干扰
参考文章:https://blog.csdn.net/EbowTang/article/details/39004979
图像处理系列笔记: https://blog.csdn.net/qq_33208851/article/details/95335809