设 f ( x ) f(x) f(x) 以 2 π 2\pi 2π 为周期,在 [ − π , π ] [-\pi, \pi] [−π,π] 绝对可积,则由公式
a n = 1 π ∫ − π π f ( x ) cos n x d x , n = 0 , 1 , 2 , . . . a_n = {1\over\pi}\int_{-\pi}^{\pi}f(x)\cos nx\ dx,\ \ \ \ n=0,1,2,... an=π1∫−ππf(x)cosnx dx, n=0,1,2,... b n = 1 π ∫ − π π f ( x ) sin n x d x , n = 1 , 2 , . . . b_n = {1\over\pi}\int_{-\pi}^{\pi}f(x)\sin nx\ dx,\ \ \ \ n=1,2,... bn=π1∫−ππf(x)sinnx dx, n=1,2,...决定的 a n a_n an、 b n b_n bn 称为傅里叶系数,称由这些 a n a_n an、 b n b_n bn 决定的三角级数
f ( x ) ~ a 0 2 + ∑ n = 1 ∞ ( a n cos n x + b n sin n x ) f(x) ~ {a_0\over 2} + \sum_{n=1}^\infty(a_n\cos nx + b_n\sin nx) f(x)~2a0+n=1∑∞(ancosnx+bnsinnx)为 f ( x ) f(x) f(x) 的傅里叶级数。
例1 设 f ( x ) f(x) f(x) 以 2 π 2\pi 2π 为周期,在 [ − π , π ] [-\pi, \pi] [−π,π] 上 f ( x ) = x f(x) = x f(x)=x,试求 f ( x ) f(x) f(x) 的傅里叶级数。
解: f ( x ) 解:f(x) 解:f(x)的图像如下图所示
由 f ( x ) f(x) f(x) 在 [ − π , π ] [-\pi, \pi] [−π,π] 是奇函数,知 f ( x ) cos n x f(x)\cos nx f(x)cosnx 在 [ − π , π ] [-\pi, \pi] [−π,π] 也是奇函数,因而 a n = 0 a_n = 0 an=0。
b 0 = 1 π ∫ − π π x sin n x d x = 2 π ∫ 0 π x sin n x d x b_0 = {1\over\pi}\int_{-\pi}^{\pi}x\sin nx\ dx = {2\over \pi}\int_0^\pi x\sin nx\ dx b0=π1∫−ππxsinnx dx=π2∫0πxsinnx dx = 2 n π [ − x cos n x ∣ 0 π + ∫ 0 π cos n x d x ] = ( − 1 ) n − 1 2 n = {2\over{n\pi}}[-x\cos nx |_0^\pi + \int_0^\pi \cos nx\ dx] = {{(-1)^{n-1}2}\over n} =nπ2[−xcosnx∣0π+∫0πcosnx dx]=n(−1)n−12故傅里叶级数为
f ( x ) ~ 2 ∑ n = 1 ∞ ( − 1 ) n − 1 sin n x n = 2 ( sin x − sin 2 x 2 + sin 3 x 3 − sin 4 x 4 + … ) f(x) ~ 2\sum_{n=1}^\infty{{(-1)^{n-1}\sin nx}\over n} = 2(\sin x - {{\sin 2x}\over 2} + {{\sin 3x}\over 3} - {{\sin 4x}\over 4} + \dots) f(x)~2n=1∑∞n(−1)n−1sinnx=2(sinx−2sin2x+3sin3x−4sin4x+…)从下图可看出该函数的傅里叶级数大致图像
频率域的图像处理首先把一副图像变换到频率域,在频率域中进行处理,然后通过反变换把处理结果返回到空间域。
复数 C C C 的定义如下:
C = R + j I C = R + jI C=R+jI式中, R R R 和 I I I 是实数, j j j 是一个等于 − 1 -1 −1 的平方根的虚数,即 j = − 1 j = \sqrt {-1} j=−1。 R R R 表示复数的实部, I I I 表示复数的虚部。
在极坐标下,有
C = ∣ C ∣ ( cos θ + j sin θ ) C = |C|(\cos\theta + j\sin\theta) C=∣C∣(cosθ+jsinθ)式中, ∣ C ∣ = R 2 + I 2 |C|=\sqrt {R^2+I^2} ∣C∣=R2+I2 是复平面的原点到点 ( R , I ) (R,I) (R,I) 的向量的长度, θ \theta θ 是该向量与实轴的夹角。
从下图可以看出 tan θ = I R \tan\theta = {I\over R} tanθ=RI, R = cos θ ∣ C ∣ R=\cos\theta|C| R=cosθ∣C∣, I = sin θ ∣ C ∣ I=\sin\theta|C| I=sinθ∣C∣。
欧拉公式定义如下:
e j θ = cos θ + j sin θ e^{j\theta} = \cos\theta + j\sin\theta ejθ=cosθ+jsinθ式中, e = 2.71828... e=2.71828... e=2.71828...,可给出极坐标下复数表示:
C = ∣ C ∣ e j θ C=|C|e^{j\theta} C=∣C∣ejθ式中, ∣ C ∣ |C| ∣C∣ 和 θ \theta θ 的定义如上。
具有周期 T T T 的连续变量 t t t 的周期函数 f ( t ) f(t) f(t) 可描述为乘以恰当系数的正弦和余弦之和,这个和就是傅里叶级数:
f ( t ) = ∑ n = − ∞ ∞ c n e j 2 π n T t f(t) = \sum_{n=-\infty}^\infty c_ne^{j{2\pi n\over T}t} f(t)=n=−∞∑∞cnejT2πnt式中,
c n = 1 T ∫ − T / 2 T / 2 f ( t ) e − j 2 π n T t d t , n = 0 , ± 1 , ± 2 , … c_n={1\over T}\int_{-T/2}^{T/2}f(t)e^{-j{2\pi n\over T}t}dt,\ \ \ \ \ \ n=0,\pm1,\pm2,\dots cn=T1∫−T/2T/2f(t)e−jT2πntdt, n=0,±1,±2,…是系数。上式可展开为正弦与余弦之和这一事实来自欧拉公式。
连续变量 t t t 在 t = 0 t=0 t=0 处的单位冲激表示为 δ ( t ) \delta(t) δ(t),其定义是:
δ ( t ) = { ∞ , t=0 0 , t ≠ 0 \delta(t)= \begin{cases} \infty, & \text {t=0} \\ 0, & \text{t$≠$0} \end{cases} δ(t)={∞,0,t=0t=0冲激串 S Δ T ( t ) S_{\Delta T}(t) SΔT(t) 定义为无限多个离散的周期冲激单元 Δ T \Delta T ΔT 之和:
S Δ T ( t ) = ∑ n = − ∞ ∞ δ ( t − n Δ T ) S_{\Delta T}(t) = \sum_{n=-\infty}^\infty\delta(t-n\Delta T) SΔT(t)=n=−∞∑∞δ(t−nΔT)模拟取样的一种方法是,用一个 Δ T \Delta T ΔT 单位间隔的冲激串作为取样函数去乘以 f ( t ) f(t) f(t),即
f ~ ( t ) = f ( t ) S Δ T ( t ) = ∑ n = − ∞ ∞ f ( t ) δ ( t − n Δ T ) ( 1 ) \tilde f(t) = f(t)S_{\Delta T}(t) = \sum_{n=-\infty}^\infty f(t)\delta(t-n\Delta T)\ \ \ \ \ \ \ \ (1) f~(t)=f(t)SΔT(t)=n=−∞∑∞f(t)δ(t−nΔT) (1)式中, f ~ ( t ) \tilde f(t) f~(t) 表示取样后的函数。这个和式的每个成分都是由该冲激位置处 f ( t ) f(t) f(t) 的值加权后的冲激,每个取样值由加权后的冲激“强度”给出,我们可通过积分得到它,也就是说,序列中的任意取样值 f k f_k fk 由下式给出:
f k = ∫ − ∞ ∞ f ( t ) δ ( t − k Δ T ) d t = f ( k Δ T ) ( 2 ) f_k = \int_{-\infty}^\infty f(t)\delta(t-k\Delta T)dt = f(k\Delta T)\ \ \ \ \ \ \ \ (2) fk=∫−∞∞f(t)δ(t−kΔT)dt=f(kΔT) (2)
f ( t ) f(t) f(t) 的傅里叶变换可写为
F ( u ) = ∫ − ∞ ∞ f ( t ) e − j 2 π u t d t F(u) = \int_{-\infty}^\infty f(t)e^{-j2\pi ut}dt F(u)=∫−∞∞f(t)e−j2πutdt相反,给定 F ( u ) F(u) F(u),通过傅里叶反变换可以得到 f ( t ) f(t) f(t),写为
f ( t ) = ∫ − ∞ ∞ F ( u ) e j 2 π u t d u f(t)=\int_{-\infty}^\infty F(u)e^{j2\pi ut}du f(t)=∫−∞∞F(u)ej2πutdu以上两式共同称为傅里叶变换对。它们指出一个函数可以由其变换来恢复。使用欧拉公式, F ( u ) F(u) F(u) 可写为
F ( u ) = ∫ − ∞ ∞ f ( t ) [ cos ( 2 π u t ) − j sin ( 2 π u t ) ] d t F(u) = \int_{-\infty}^\infty f(t)[\cos(2\pi ut) - j\sin(2\pi ut)]dt F(u)=∫−∞∞f(t)[cos(2πut)−jsin(2πut)]dt 可以看到,如果 f ( t ) f(t) f(t) 是实数,那么其变换通常是复数。注意,傅里叶变换是 f ( t ) f(t) f(t) 乘以正弦项的展开,正弦项的频率由 u u u 的值决定。因为积分后剩下的唯一变量是频率,故我们说傅里叶变换域是频率域。
由取样后的函数的连续变换可得到离散傅里叶变换(DFT)。
采样后函数 f ~ ( t ) \tilde f(t) f~(t) 的变换 F ~ ( u ) \tilde F(u) F~(u) 的表达式如下:
F ~ ( u ) = ∫ − ∞ ∞ f ~ ( t ) e − j 2 π u t d t \tilde F(u) = \int_{-\infty}^\infty \tilde f(t)e^{-j2\pi ut}dt F~(u)=∫−∞∞f~(t)e−j2πutdt用式(1)代替 f ~ ( t ) \tilde f(t) f~(t) 得:
F ~ ( u ) = ∫ − ∞ ∞ ∑ n = − ∞ ∞ f ( t ) δ ( t − n Δ T ) e − j 2 π u t d t \tilde F(u) = \int_{-\infty}^\infty \sum_{n=-\infty}^\infty f(t)\delta(t-n\Delta T)e^{-j2\pi ut}dt F~(u)=∫−∞∞n=−∞∑∞f(t)δ(t−nΔT)e−j2πutdt = ∑ n = − ∞ ∞ ∫ − ∞ ∞ f ( t ) δ ( t − n Δ T ) e − j 2 π u t d t = \sum_{n=-\infty}^\infty \int_{-\infty}^\infty f(t)\delta(t-n\Delta T)e^{-j2\pi ut}dt =n=−∞∑∞∫−∞∞f(t)δ(t−nΔT)e−j2πutdt = ∑ n = − ∞ ∞ f n e − j 2 π u n Δ T ( 3 ) = \sum_{n=-\infty}^\infty f_ne^{-j2\pi un\Delta T}\ \ \ \ \ \ \ (3) =n=−∞∑∞fne−j2πunΔT (3)最后一步由式(2)得出。
虽然 f n f_n fn 是离散函数,但其傅里叶变换 F ~ ( u ) \tilde F(u) F~(u) 是周期为 1 / Δ T 1/\Delta T 1/ΔT 的无限周期连续函数。因此,我们需要表征 F ~ ( u ) \tilde F(u) F~(u) 的一个周期,而对一个周期取样是DFT的基础。
假设我们想要在周期 u = 0 u=0 u=0 到 u = 1 / Δ T u=1/\Delta T u=1/ΔT 之间得到 F ~ ( u ) \tilde F(u) F~(u) 的 M M M 个等间距样本。这可通过在如下频率处取样得到:
u = m M Δ T , m = 0 , 1 , 2 , . . . , M − 1 u = {m\over M\Delta T},\ \ \ \ m=0,1,2,...,M-1 u=MΔTm, m=0,1,2,...,M−1把 u u u 的这一结果代入式(3),并令 F m F_m Fm 表示得到的结果,则有:
F m = ∑ n = 0 M − 1 f n e − j 2 π m n / M , m = 0 , 1 , 2 , . . . , M − 1 F_m = \sum_{n=0}^{M-1}f_ne^{-j2\pi mn/M},\ \ \ \ m=0,1,2,...,M-1 Fm=n=0∑M−1fne−j2πmn/M, m=0,1,2,...,M−1这个表达式就是我们寻找的离散傅里叶变换。
通过傅里叶反变换(IDFT)可以得到 :
f n = 1 M ∑ m = 0 M − 1 F m e j 2 π m n / M , n = 0 , 1 , 2 , . . . , M − 1 f_n = {1\over M}\sum_{m=0}^{M-1}F_me^{j2\pi mn/M},\ \ \ \ n=0,1,2,...,M-1 fn=M1m=0∑M−1Fmej2πmn/M, n=0,1,2,...,M−1 在前面的阐述中,我们使用 m m m 和 n n n 来表示离散变量,因为人们在推导中历来都是这一的。然而,特别是在二维情况下,使用 x x x 和 y y y 表示图像坐标变量并使用 u u u 和 v v v 表示频率变量更为,在这里,这些变量可以理解为整数。这样,最终得到的离散傅里叶变换对如下( F ( u ) ≡ F m , f ( x ) ≡ f n F(u)\equiv F_m,f(x)\equiv f_n F(u)≡Fm,f(x)≡fn):
F ( u ) = ∑ x = 0 M − 1 f ( x ) e − j 2 π u x / M , u = 0 , 1 , 2 , . . . , M − 1 F(u) = \sum_{x=0}^{M-1}f(x)e^{-j2\pi ux/M},\ \ \ \ u=0,1,2,...,M-1 F(u)=x=0∑M−1f(x)e−j2πux/M, u=0,1,2,...,M−1 f ( x ) = 1 M ∑ u = 0 M − 1 F ( u ) e j 2 π u x / M , x = 0 , 1 , 2 , . . . , M − 1 f(x) = {1\over M}\sum_{u=0}^{M-1}F(u)e^{j2\pi ux/M},\ \ \ \ x=0,1,2,...,M-1 f(x)=M1u=0∑M−1F(u)ej2πux/M, x=0,1,2,...,M−1
令 f ( t , z ) f(t, z) f(t,z) 是两个连续变量 t t t 和 z z z 的连续函数。则其二维连续傅里叶变换对可由下式给出:
F ( u , v ) = ∫ − ∞ ∞ ∫ − ∞ ∞ f ( t , z ) e − j 2 π ( u t + v z ) d t d z F(u, v) = \int_{-\infty}^\infty \int_{-\infty}^\infty f(t, z)e^{-j2\pi (ut+vz)}dt\ dz F(u,v)=∫−∞∞∫−∞∞f(t,z)e−j2π(ut+vz)dt dz f ( t , z ) = ∫ − ∞ ∞ ∫ − ∞ ∞ F ( u , v ) e j 2 π ( u t + v z ) d u d v f(t, z) = \int_{-\infty}^\infty \int_{-\infty}^\infty F(u, v)e^{j2\pi (ut+vz)}du\ dv f(t,z)=∫−∞∞∫−∞∞F(u,v)ej2π(ut+vz)du dv式中, u u u 和 v v v 是频率变量。当涉及图像时, t t t 和 z z z 解释为连续空间变量。
二维离散傅里叶变换:
F ( u , v ) = ∑ x = 0 M − 1 ∑ y = 0 N − 1 f ( x , y ) e − j 2 π ( u x / M + v y / N ) , u = 0 , 1 , 2 , . . . , M − 1 , v = 0 , 1 , 2 , . . . , N − 1 F(u, v) = \sum_{x=0}^{M-1}\sum_{y=0}^{N-1}f(x, y)e^{-j2\pi (ux/M+vy/N)},\ \ u=0,1,2,...,M-1,\ \ v=0,1,2,...,N-1 F(u,v)=x=0∑M−1y=0∑N−1f(x,y)e−j2π(ux/M+vy/N), u=0,1,2,...,M−1, v=0,1,2,...,N−1 使用傅里叶反变换得到 f ( x , y ) f(x,y) f(x,y):
f ( x , y ) = 1 M N ∑ u = 0 M − 1 ∑ v = 0 N − 1 F ( u , v ) e j 2 π ( u x / M + v y / N ) , x = 0 , 1 , 2 , . . . , M − 1 , y = 0 , 1 , 2 , . . . , N − 1 f(x, y) = {1\over{MN}}\sum_{u=0}^{M-1}\sum_{v=0}^{N-1}F(u, v)e^{j2\pi (ux/M+vy/N)},\ \ x=0,1,2,...,M-1,\ \ y=0,1,2,...,N-1 f(x,y)=MN1u=0∑M−1v=0∑N−1F(u,v)ej2π(ux/M+vy/N), x=0,1,2,...,M−1, y=0,1,2,...,N−1
具有连续变量 t t t 的两个连续函数 f ( t ) f(t) f(t) 和 h ( t ) h(t) h(t) 的卷积定义如下:
f ( t ) ★ h ( t ) = ∫ − ∞ ∞ f ( τ ) h ( t − τ ) d τ f(t) ★ h(t) = \int_{-\infty}^\infty f(\tau)h(t-\tau) d\tau f(t)★h(t)=∫−∞∞f(τ)h(t−τ)dτ 二维卷积定义如下:
f ( x , y ) ★ h ( x , y ) = ∑ m = 0 M − 1 ∑ n = 0 N − 1 f ( m , n ) h ( x − m , y − n ) f(x, y) ★ h(x, y) = \sum_{m=0}^{M-1}\sum_{n=0}^{N-1}f(m, n)h(x-m, y-n) f(x,y)★h(x,y)=m=0∑M−1n=0∑N−1f(m,n)h(x−m,y−n)
空间域中两个函数的卷积的傅里叶变换,等于两个函数的傅里叶变换在频率域中的乘积;如果有两个变换的乘积,那么我们可以通过计算傅里叶反变换得到空间域的卷积。
卷积定义可通过以下公式表示。我们将 t t t 所在的域称为空间域,将 u u u 所在的域称为频率域。 F ( u ) F(u) F(u) 是 f ( t ) f(t) f(t) 的傅里叶变换; H ( u ) H(u) H(u) 是 h ( t ) h(t) h(t) 的傅里叶变换,根据卷积定理有( ⟺ \iff ⟺表示傅里叶变换对):
f ( t ) ★ h ( t ) ⟺ F ( u ) H ( u ) f(t) ★ h(t) \iff F(u)H(u) f(t)★h(t)⟺F(u)H(u) f ( t ) h ( t ) ⟺ F ( u ) ★ H ( u ) f(t)h(t) \iff F(u) ★ H(u) f(t)h(t)⟺F(u)★H(u)
f ( x , y ) ★ h ( x , y ) ⟺ F ( u , v ) H ( u , v ) f(x, y) ★ h(x, y) \iff F(u, v)H(u, v) f(x,y)★h(x,y)⟺F(u,v)H(u,v) f ( x , y ) h ( x , y ) ⟺ F ( u , v ) ★ H ( u , v ) f(x, y)h(x, y) \iff F(u, v) ★ H(u, v) f(x,y)h(x,y)⟺F(u,v)★H(u,v)
因为二维DFT通常是复函数,因此可使用极坐标形式来表示:
F ( u , v ) = ∣ F ( u , v ) ∣ e j ϕ ( u , v ) F(u, v) = |F(u, v)|e^{j\phi (u, v)} F(u,v)=∣F(u,v)∣ejϕ(u,v)式中,幅度
∣ F ( u , v ) ∣ = [ R 2 ( u , v ) + F 2 ( u , v ) ] 1 2 |F(u, v)| = [R^2(u, v)+F^2(u, v)]^{1\over2} ∣F(u,v)∣=[R2(u,v)+F2(u,v)]21称为傅里叶谱(或频谱),而
ϕ ( u , v ) = a r c tan [ I ( u , v ) R ( u , v ) ] \phi (u, v) = arc\tan[{I(u, v)\over{R(u, v)}}] ϕ(u,v)=arctan[R(u,v)I(u,v)]称为相角。
变换最慢的频率成分( u = v = 0 u=v=0 u=v=0)与图像的平均灰度成正比。
当我们远离变换的原点时,低频对应于图像中变换缓慢的灰度成分;当我们原点移开更远一些时,较高的频率开始对应于图像中越来越快的灰度变化。
频率域中的滤波技术是以如下处理为基础的:修改傅里叶变换以达到特殊目的,然后计算IDFT返回到图像域。
以上全部内容参考书籍如下:
冈萨雷斯《数字图像处理(第三版)》