计算机视觉(五):频率域滤波基础

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/eeeee123456/article/details/82941264

一、数学预备知识

1. 傅里叶级数

f ( x ) f(x) 2 π 2\pi 为周期,在 [ π , π ] [-\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,... 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,... 决定的 a n a_n b n b_n 称为傅里叶系数,称由这些 a n a_n b n b_n 决定的三角级数
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 ) f(x) 的傅里叶级数。
例1  设 f ( x ) f(x) 2 π 2\pi 为周期,在 [ π , π ] [-\pi, \pi] f ( x ) = x f(x) = x ,试求 f ( x ) f(x) 的傅里叶级数。
f ( x ) 解:f(x) 的图像如下图所示
在这里插入图片描述
f ( x ) f(x) [ π , π ] [-\pi, \pi] 是奇函数,知 f ( x ) cos n x f(x)\cos nx [ π , π ] [-\pi, \pi] 也是奇函数,因而 a n = 0 a_n = 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 = 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} 故傅里叶级数为
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) 从下图可看出该函数的傅里叶级数大致图像

在这里插入图片描述



二、基本概念

1. 频率域

      频率域的图像处理首先把一副图像变换到频率域,在频率域中进行处理,然后通过反变换把处理结果返回到空间域。

2. 复数

      复数 C C 的定义如下:
C = R + j I C = R + jI 式中, R R I I 是实数, j j 是一个等于 1 -1 的平方根的虚数,即 j = 1 j = \sqrt {-1} R R 表示复数的实部, I I 表示复数的虚部。
      在极坐标下,有
C = C ( cos θ + j sin θ ) C = |C|(\cos\theta + j\sin\theta) 式中, C = R 2 + I 2 |C|=\sqrt {R^2+I^2} 是复平面的原点到点 ( R , I ) (R,I) 的向量的长度, θ \theta 是该向量与实轴的夹角。
      从下图可以看出 tan θ = I R \tan\theta = {I\over R} R = cos θ C R=\cos\theta|C| I = sin θ C I=\sin\theta|C|
在这里插入图片描述

3. 欧拉公式

欧拉公式定义如下:
e j θ = cos θ + j sin θ e^{j\theta} = \cos\theta + j\sin\theta 式中, e = 2.71828... e=2.71828... ,可给出极坐标下复数表示:
C = C e j θ C=|C|e^{j\theta} 式中, C |C| θ \theta 的定义如上。

4. 傅里叶级数

具有周期 T T 的连续变量 t 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} 式中,
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 是系数。上式可展开为正弦与余弦之和这一事实来自欧拉公式。

5. 取样

连续变量 t t t = 0 t=0 处的单位冲激表示为 δ ( t ) \delta(t) ,其定义是:
δ ( t ) = { , t=0 0 , t 0 \delta(t)= \begin{cases} \infty, & \text {t=0} \\ 0, & \text{t$≠$0} \end{cases} 冲激串 S Δ T ( t ) S_{\Delta T}(t) 定义为无限多个离散的周期冲激单元 Δ T \Delta T 之和:
S Δ T ( t ) = n = δ ( t n Δ T ) S_{\Delta T}(t) = \sum_{n=-\infty}^\infty\delta(t-n\Delta T) 模拟取样的一种方法是,用一个 Δ T \Delta 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 ) \tilde f(t) 表示取样后的函数。这个和式的每个成分都是由该冲激位置处 f ( t ) f(t) 的值加权后的冲激,每个取样值由加权后的冲激“强度”给出,我们可通过积分得到它,也就是说,序列中的任意取样值 f k f_k 由下式给出:
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)


三、傅里叶变换

1. 一维连续傅里叶变换

       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(u) ,通过傅里叶反变换可以得到 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 ( 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 ( t ) f(t) 是实数,那么其变换通常是复数。注意,傅里叶变换是 f ( t ) f(t) 乘以正弦项的展开,正弦项的频率由 u u 的值决定。因为积分后剩下的唯一变量是频率,故我们说傅里叶变换域是频率域。

2. 一维离散傅里叶变换

      由取样后的函数的连续变换可得到离散傅里叶变换(DFT)。
      采样后函数 f ~ ( t ) \tilde f(t) 的变换 F ~ ( u ) \tilde 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 用式(1)代替 f ~ ( t ) \tilde 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 = 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 n e j 2 π u n Δ T         ( 3 ) = \sum_{n=-\infty}^\infty f_ne^{-j2\pi un\Delta T}\ \ \ \ \ \ \ (3) 最后一步由式(2)得出。
      虽然 f n f_n 是离散函数,但其傅里叶变换 F ~ ( u ) \tilde F(u) 是周期为 1 / Δ T 1/\Delta T 的无限周期连续函数。因此,我们需要表征 F ~ ( u ) \tilde F(u) 的一个周期,而对一个周期取样是DFT的基础。
      假设我们想要在周期 u = 0 u=0 u = 1 / Δ T u=1/\Delta T 之间得到 F ~ ( u ) \tilde F(u) 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 u 的这一结果代入式(3),并令 F m F_m 表示得到的结果,则有:
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 这个表达式就是我们寻找的离散傅里叶变换。
      通过傅里叶反变换(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       在前面的阐述中,我们使用 m m n n 来表示离散变量,因为人们在推导中历来都是这一的。然而,特别是在二维情况下,使用 x x y y 表示图像坐标变量并使用 u u v v 表示频率变量更为,在这里,这些变量可以理解为整数。这样,最终得到的离散傅里叶变换对如下( F ( u ) F m f ( x ) f n F(u)\equiv F_m,f(x)\equiv f_n ):
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 ( 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

3. 二维连续傅里叶变换

      令 f ( t , z ) f(t, z) 是两个连续变量 t t 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 ( 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 式中, u u v v 是频率变量。当涉及图像时, t t z z 解释为连续空间变量。

4. 二维离散傅里叶变换

      二维离散傅里叶变换:
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 ( 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



四、卷积

1. 定义

      具有连续变量 t t 的两个连续函数 f ( t ) f(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 ( 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)

2. 一维卷积定理

      空间域中两个函数的卷积的傅里叶变换,等于两个函数的傅里叶变换在频率域中的乘积;如果有两个变换的乘积,那么我们可以通过计算傅里叶反变换得到空间域的卷积。
      卷积定义可通过以下公式表示。我们将 t t 所在的域称为空间域,将 u u 所在的域称为频率域。 F ( u ) F(u) f ( t ) f(t) 的傅里叶变换; H ( u ) H(u) 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) \iff F(u) ★ H(u)

3. 二维卷积定理

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) \iff 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 ) = [ R 2 ( u , v ) + F 2 ( u , v ) ] 1 2 |F(u, v)| = [R^2(u, v)+F^2(u, v)]^{1\over2} 称为傅里叶谱(或频谱),而
ϕ ( 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 = 0 u=v=0 )与图像的平均灰度成正比。
      当我们远离变换的原点时,低频对应于图像中变换缓慢的灰度成分;当我们原点移开更远一些时,较高的频率开始对应于图像中越来越快的灰度变化。
      频率域中的滤波技术是以如下处理为基础的:修改傅里叶变换以达到特殊目的,然后计算IDFT返回到图像域。









以上全部内容参考书籍如下:
冈萨雷斯《数字图像处理(第三版)》

猜你喜欢

转载自blog.csdn.net/eeeee123456/article/details/82941264