二维离散傅里叶变换
则频域原点的傅里叶变换
F(u,v)
为:
显然这是 f(x,y) 各个像素的灰度之和,而如果将系数 1/MN 置于正变换之前,则 F(0,0) 对应于原图像 f(x,y) 的平均灰度。 F(0,0) 有时也被称为频率谱的直流分量 DC(direct current)。
FFT(快速傅里叶变换)的必要性
FFT 相对 DFT 不是一种新的变换,而是对 DFT 的快速计算算法。
之所以提出快速傅里叶变换(FFT)方法,是因为在计算离散域上的傅里叶变换时,对于 N 点序列,它的 DFT 变换与反变换对定义为:
其中 WN=e−j2πN ,
于是不难发现,计算每个
u
值对应的
事实上,在离散傅里叶变换的运算中有大量重复运算,变量
WN
是一个复变量,实际上
WN
只有
N
个独立的值。而这
上面的等式是
W
矩阵中元素的某些特殊值,而下面的等式则说明了
N = 5;
W_N = exp(-j*2*pi/N);
W_N.^(0:9)
输出为:
1.0000 + 0.0000i 0.3090 - 0.9511i -0.8090 - 0.5878i -0.8090 + 0.5878i 0.3090 + 0.9511i
1.0000 + 0.0000i 0.3090 - 0.9511i -0.8090 - 0.5878i -0.8090 + 0.5878i 0.3090 + 0.9511i
频域滤波的基本步骤
- (1)计算原始图像 f(x,y) 的 DFT,得到 F(u,v)
- (2)将频谱 F(u,v) 的零频点移动到频谱图的中心位置
- (3)计算滤波器函数 H(u,v) 与 F(u,v) 的乘积 G(u,v) (时域的卷积等于频域的乘积)
- (4)将频谱 G(u,v) 的零频点移回到频谱图的左上角位置
- (5)计算机步骤(4)的傅里叶反变换 g(x, y)
- (6)取 g(x, y) 的实部作为最终滤波后的结果图像;
由上面的叙述易知,滤波能否取得成功的关键取决于频域滤波函数 H(u,v) ,常常称之为滤波器,或滤波器传递函数,因为它在滤波中抑制或滤除了频谱中某些频率的分量,而保留其他的一些频率不受影响。
如果滤波器的值只为实数,则进行频域滤波的时候,
F⋅H
(频域的乘积),
H
中的每一个实数元素分别乘以