摘要
《数字图像处理》第四章从傅立叶变换的原理出发,介绍了二维傅立叶变换在数字图像处理中的应用.有点难懂,希望通过读书笔记加深理解.
基本概念
任何周期函数都可以表示为不同频率的正弦与余弦之和的形式,每个正弦项和余弦项都乘以不同的系数,这个系数被称为傅立叶级数.无论函数多么复杂,只要它是周期的,并且满足某些数学条件,就可以用这样的和来表示.傅立叶级数有三角函数展开式和复指数展开式两种.其实两者本质上是一样的,可以通过欧拉公式相互转换.
傅立叶级数有三角函数展开式:
$$f(t)= \dfrac{a_0}{2} + \sum_{n=1}^{+\infty} a_n \cos(\omega nt) + b_n \sin(\omega nt) \quad$$
欧拉公式:
$$ e^{j\theta} = \cos \theta + jsin\theta$$
傅立叶级的复数展开式:
$$f(t)=\sum_{n=-\infty}^{\infty}c_ne^{j\omega nt}$$
其中$\omega = \dfrac{2\pi}{T}$
而对于非周期函数,只要曲线下的面积是有限的,就可以用正弦与余弦乘以加权函数的积分来表示.这个变换公式被称为傅立叶变换.
傅立叶变换
$$F(\omega) = \Im\{f(t)\} = \int_{-\infty}^{\infty} f(t) e^{-j\omega t}dt$$
可以看到函数$f(t)$经过傅立叶变换得到$F(\omega)$,变量从时间域$t$变为了频率域$\omega$.对于在难以分析的时域信号,通过傅立叶变换就可以将其转换为易于分析的频域信号.
无论是傅立叶级数还是傅立叶变换,针对的都是连续信号,即$f(t)$是一个连续函数.但是计算机是无法处理连续值的,只能处理离散值,因此引出了另外两种傅立叶变换形式.
对于离散周期性信号$\{f(x)\}_{0\leq x<M}$,通过离散傅立叶变换,得到离散周期频域信号:
$$F(u) = \sum _{x=0}^{M-1} f(x) e^{-j \frac{2\pi}{M} u x} \quad, u=0,1,2,…,M-1$$
对于离散非周期信号$\{f_n\}_{0\leq n<M}$,通过离散时间傅里叶变换,得到连续周期频域信号:
$$F(\omega)=\sum_{n=-\infty}^{\infty} f_n e^{-j\omega n}$$
由于离散时间傅里叶变换得到的频域信号是连续的,计算机还是无法处理,因此通常对离散时间傅里叶变换连续谱进行等间隔采样,从而转换成离散傅立叶变换的离散谱.
计算机无法处理连续值,因此对于一个连续信号,首先通过冲激函数进行采样,从而将连续信号离散化.采样会涉及到采样定理,即采样频率要大于信号频率的两倍.否则会发生信号混淆.取样后的离散信号往往也是非周期的,也就是说得到频域信号是连续的,因此需要通过对连续谱进行等间隔采样,最终得到了计算机可以处理的离散傅立叶变换(DTF).
《数字图像处理》第四章的4.1到4.4节就描述了整个过程,具体公式推导参见原书.
图像处理中的傅立叶变换
对于图像处理,对应的傅立叶变换往往是二维离散傅立叶变换:
$$F(u,v)=\sum_{x=0}^{M-1}\sum_{y=0}^{N-1} f(x,y) e^{-j2\pi (\frac{ux}{m}+\frac{vy}{N})}$$
其中$f(x,y)$表示大小为$M \times N$的数字图像.
未完待续…
参考文献
《数字图像处理》第四章
傅里叶分析之掐死教程
我理解的傅里叶变换
离散傅立叶变换在图像处理中的推导和意义