对傅立叶变换后图像空间域与频率域中垂直现象的研究
对傅立叶变换后图像空间域与频率域中垂直现象的研究
【摘要】本文就图像二维傅立叶变换常令人感到困惑的问题进行深入的讨论,并对傅立叶变换后原图和频谱图出现的垂直现象进行分析,同时给出数学证明。
【关键词】傅立叶变换;频谱图;垂直现象;图像
1 引言
傅立叶变换是线性系统分析的一个有力工具,是信号处理中最重要、应用最广泛的变
换,但遗憾的是很多人可能还是不习惯在频域中思考问题,尤其是面对图像时,空间域、频率域都是二维的,更是对空域、频域的对应关系不甚了解。如何理解傅立叶变换后的频谱图,为何对不同图像进行傅立叶变换后产生的频谱图往往会出现水平和垂直的“亮线”,而对一些规则图像进行傅立叶变换后得到的频谱图往往会在与原图垂直的方向上出现较亮的点或线(如垂直条纹图像,傅立叶变换后会在水平方向上出现一些较亮的点) 。这些问题困扰着每个初学者,更让初学者困惑的是,几乎市面上所有有关数字图像处理的书籍都没有给出详细的解释。下面就围绕傅立叶变换以及图像处理中一些经常让人困惑的问题进行深入的讨论。
[1]
2一维傅立叶变换中的问题讨论
一维傅立叶变换是二维变换的基础,下面就先对一些相关的、基本的但又很重要的概念进行讨论。
(1)实信号的傅立叶变换
就信号处理来说,大家所关心的都是实信号,所以单独对它进行讨论,可以简化工作。 下面是大家所熟知的傅立叶变换公式
F (ω) =
∞-∞
⎰
f (t ) exp(-2πi ωt ) dt
从定义式不难推出
F (ω) =
*
⎰
∞-∞
f (t ) exp(2πi ωt ) dt
*
所以可得出结论:F (ω) =F (-ω) 。这说明实函数的傅立叶变换是实部为偶函数,虚
部为奇函数,也就是说:求某一实函数的傅立叶变换时,它的幅度谱总是关于原点对称的,而相位谱左右两边只是差一个负号,即左右互为复共轭。由此可见,就实际应用来讲,无论哪边的频谱都是完备的,并且负频率本身也不具有什么意义,但是当用更为通用的数学方法去对物理过程建模时,保留负频率部分会使分析更加容易。
(2)正弦分量的分解
大家知道,任何满足狄里赫利条件的信号都可以通过傅立叶变换表征为一组正(余) 弦信号的和或积分,而由图1可以从频域得出这一结论:
由于任何实函数的傅立叶变换都是偶函数,所以对于任意一个实信号f (t ) ,将它的傅立叶变换F (ω) 在频率域进行抽样时,都能得到无数的抽样脉冲对(见图2) ,也即将这些脉冲对累加起来就得到了F (ω) ,而当脉冲宽度趋于零时,每个脉冲对正好是某个频率的余弦信号的傅立叶变换,这从频率域的角度验证了任何一个实信号都可以看作是由若干个正(余) 弦信号以及相应的幅度所组成。
图2 实信号f (t ) 及傅立叶变换F (ω)
通过以上的讨论可得出两个简单的结论:(1)实信号的频谱是对称的;(2)信号在时域
和频域中是相互对应的,总是能把实信号看作是由若干不同频率、振幅的正弦波组成。
3. 图像的二维傅立叶变换
3.1二维离散傅立叶变换的定义
图像经数字化处理后,可以用二维离散信号f (m , n ) 表示。对于二维离散信号
0, 1,
M , -
1n =;
M -1N -1
{f (m , n ) |m = 0, 1, N -,
,其离散傅立叶变换定义为:
m u M
+nv N
)) (1)
F (u , v ) =
∑∑
m =0n =0
f (m , n ) exp(-j 2π(
式中u =0,1, , M -1; v =0,1, , N -1,称为空间频率。反变换定义为
f (m , n ) =
M -1N -1
∑∑F (u , v ) exp(j 2π(M
m =0n =0
m u
+
nv N
)) (2)
式中m =0,1, , M -1; n =0,1, , N -1。
在图像处理时,一般选取图像块为N ⨯N 的方阵,即取M =N ,这时二维离散傅立叶
变换和反变换式: 为 F (u , v ) =
1N 1N
N -1N -1
∑∑
m =0n =0N -1N -1
f (m , n ) exp(-j 2π(
m u N
+
nv N
)) (3)
及 f (m , n ) =
∑∑
m =0n =0
F (u , v ) exp(j 2π(
m u N
+
nv N
)) (4)
在(3)(4)两式中,u , v , m , n =0,1, , N -1。本文都是选取N ⨯N 的图像进行讨论的。 3.2频谱图的理解[2]
由(3)式可知图像经傅立叶变换后,往往得到的是复数形式。要直接表示结果就必须用到两幅图像:一幅表示实部,一幅表示虚部。这样表示十分不方便,同时也没有得到有用的信息,因此引入变换结果的模作为值在频谱图中表示出来,以灰度的明暗代表模的大小。
作为典型的二维信号,图像的频率相应地也是二维的。其分别对应着图像的像素值在两个相互垂直的方向上变化的情况(如图3.2.1)。根据对一维离散信号频谱的分析结果可知,频谱在u =0, N 2, N -1三点处的频率分别为f 0=0, f N =f c , f N -1=0 f c 为图像信号的最高截止频率。将其推广到二维,则在图像频谱图中所有沿u 方向的频率值变化情况与一维相同,也有f 0=0, f N 2=f c , f N -1=0。同理,在v 方向上也有相同的结果。因此,在频谱图四角(0,0), (N -1, 0), (0,N -1), (N -1, N -1) 处沿u 和v 方向的频率分量均为0,在频谱图中心点(N 2, N 2) 处沿u 和v 方向的频率分量均为最大值f c 。
图3.2.1 图像频谱示意图
由于图像中的大部分能量集中在低频分量上,因此频谱图中四角部分的幅度值较大。
然而,在实际的图像频谱分析过程中,由于低频分两区域较小,并且分散在四角,因此不利于对其进行分析。此时,可以根据图像频谱的周期性和共轭对称性对频谱图坐标进行移位,将所有低频分量集中在频谱图中心,同时高频分量分散在四周。在具体实现频谱的移
位过程中,将图3.2.1中的区域A 和区域D 对换位置,将区域B 和区域C 对换位置即可。进行移位之后大大增加了图像频谱的可读性,如图3.2.2所以。
(a)原图像 (b)移位前的频谱 (c)移位后的频谱
图3.2.2 简单矩形图像坐标移动前后的频谱图
3.3频谱图的垂直现象及单条直线段垂直现象
对图像进行傅立叶变换后所得到的移位后的频谱图往往会在垂直方向和水平方向上出现两条“亮线”(如图3.2.2) ,这个现象常常困扰初学者,为什么会出现这两条亮线,什么时候会出现这两条亮线?要很完整的回答这些问题很不容易,因为输入图像可以有很多种,但产生的频谱图大多都有这两条亮线。因此应该选取一些特殊的图像进行研究,接下来就选取:单条直线段,fringe patterns图像进行讨论。如图上方的为原图,下方为傅立叶变换并后未移位的频谱图:
(a) sin(x+y) (b) x = a (c) x + y = N-1
图3.3 一些特殊图像及其傅立叶变换后的频谱图
图3.3(a)是fringe patterns[3] sin(x+y)的图像,可以看到图像变换后的频谱图中出
现两个点,这两点分别与原点及(N-1,N-1)的连线是沿着u = v的方向[4]。而原图像在x+y
= b (b为0到2N-2的正整数) 的灰度值是相等的,这与u = v方向正好是垂直的。图(b)中的垂直现象就更明显了,原图为一水平线,变换后的频谱图中在v = 0上出现一条亮线,这与原图的方向正好垂直。图(c)为直线段x + y = N-1,变换后的频谱图为直线段u = v,同样出现了垂直现象。
上述对一些比较特殊的图像进行了傅立叶变换后中都出现了原图像与频谱图存在一定垂直关系的现象。对这样的垂直现象的研究能较好的理解频谱图和二维傅立叶变换,接下来就给出垂直现象的数学证明和物理意义的解释。
4. 垂直现象的数学证明
本节给出只由一条直线段组成的图像的数学证明,在4.1中给出对图像内任意一条水因为频谱图中的灰度代表傅立叶变换的模值,因此证明变换前后出现垂直现象,实际
平的直线段的证明,在4.2节中给出任意一条斜线段的证明。
上就是求傅立叶变换后模将会在什么位置或者说什么方向上出现最大值。即讨论求模公式:
1
⎧⎡N -1N -1
⎡N -1N -1ux vy ⎤ux vy ⎤⎪
F (u , v ) =⎨⎢∑∑f (x , y ) cos(2π(+)) ⎥+⎢∑∑f (x , y ) sin(2π(+)) ⎥
N N N N ⎦⎣x =0y =0⎦⎪⎩⎣x =0y =0
22
⎫2
⎪
⎬ (1)⎪⎭
的最大值将出现在u , v 的什么方向上。 4.1水平直线段垂直现象的证明
设输入图像为一个(N -1, N -1) 的二维矩阵,图像内任意一条水平直线段定义如下:
设图像内任意一条强度为1宽度为一个像素的水平线为:⎧f (x , y ) =1⎧f (x , y ) =0
且有 ⎨⎨
⎩x =a a ∈0,1, 2 N -1 ; y =0,1, 2 N -1⎩x ≠a
带入(1)式可得:
F (u , v )
2
⎡N -1⎡N -1ua vy ⎤ua vy ⎤
=⎢∑cos(2π(+)) ⎥+⎢∑sin(2π(+)) ⎥
N N N N ⎣y =0⎦⎣y =0⎦
2
22
⎡N -1⎡N -12πua 2πvy 2πua 2πvy ⎤2πua 2πvy 2πua 2πvy ⎤
=⎢∑(coscos - sin sin ) ⎥+⎢∑(sincos + cos sin ) ⎥
N N N N N N N N ⎣y =0⎦⎣y =0⎦ =(cos
2πua N
N -1
2
) (∑cos
y =0N -12
2
2πvy N
) +(sin
2
2
2πua N
N -1
) (∑sin
y =0N -12
2
2πvy N
)
2
+(cos
N -1
2πua N
) (∑sin
y =0
N -1
2
2πvy N
) +(sin
2
2πua N
) (∑cos
y =0
2πvy N
)
2
=(∑cos
y =0
2πvy N
) +(∑sin
y =0
2πvy N
) .................. .........................................................(2)
由(2)式可以看出,模的值只可能出现在v 的一列或者多列,也就是说在变换后的频谱图里亮线可能出现在垂直的方向上,这就很好的证明了图3.3(b)中出现的垂直现象。但是(2)式并不能说明模值只出现在v =0这一列,因此还要对(2)式进行进一步的讨论。
如果把(2)式中的连加看成是对积分的取样,并把N -1扩充到N ,则可以得到如下
的(3)式,并对其计算可得以下的等式:
⎡
≈⎢⎰cos(
N ⎣0
N
2πvy
⎤⎡
) dy ⎥+⎢⎰sin(
⎦⎣0
N
N
2
2πvy N
⎤
) dy ⎥..................................................(3)
⎦
N
2
= = = = = =
⎰⎰
N 0N 0N
cos(cos(
N 0N 0
2πvy N 2πvy N
) dy ⎰cos(
2πvy N 2πvt N
) dy + ⎰sin(
2πvy N N
) dy ⎰sin(
0N
N
2πvy N N
) dy
) dy ⎰cos(
N
) dt + ⎰sin(
N
2πvy 2πvt N
) dy ⎰sin(
2πvt
) dt
⎰⎰
cos(cos(
2πvy N 2πv N N
) cos(
2πvt N
) +sin(
2πvy N
) sin() dydt
⎰⎰
N
(t -y )) dydt (N -y )) dy + ⎰
N
2
2N 0
⎰
N 0
N 2πv
2
2
sin(
2πv N 2πv
sin(
2πv N
y ) dy
N
(2πv )
[cos(2πv ) -1] -
(2πv )
[cos(2πv ) -1]........................................(4)
由(4)式可知:当v ≠0时 F (u , v ) =0 当v =0时, 由(1)式可知 F (u , v ) =N 与实验相符
4.2单条斜线段垂直现象的数学证明
推广到x-y 平面上幅度值相同的任意斜线斜线l 的方程
⎧f (x , y ) =c ⎧f (x , y ) =0可定义为:a , b , c 为常量 l 不为水平线⎨⎨
y =ax +b ⎩⎩y ≠ax +b
⎧0≤x ≤N -1
假设l 与正方形区域⎨交与(x 1, y 1), (x 2, y 2) 其中0≤x 1
0≤y ≤N -1⎩则可知在区间x 1≤x ≤x 2内f (x , y ) 才有值,这里令x 1≠x 2是为了后面讨论方便F (u , v )
2
2
2
⎡N -1N -1⎡N -1N -1ux vy ⎤ux vy ⎤
=⎢∑∑f (x , y ) cos(2π(+)) ⎥+⎢∑∑f (x , y ) sin(2π(+)) ⎥
N N ⎦N N ⎦⎣x =0y =0⎣x =0y =0
2
2
⎡x 2⎡x 2ux v (ax +b ) ⎤ux v (ax +b ) ⎤
=⎢∑c cos(2π(+)) ⎥+⎢∑c sin(2π(+)) ⎥
N N N N ⎣x =x 1⎦⎣x =x 1⎦
2
⎡x 2⎡x 22πx (u +va ) 2πvb ⎤2πx (u +va ) 2πvb ⎤
=⎢∑c cos(+) ⎥+⎢∑c sin(+) ⎥
N N N N ⎣x =x 1⎦⎣x =x 1⎦
2
2
2πx (u +va ) 2πvb 2πx (u +va ) 2πvb ⎡x 2⎤⎡x 2⎤
≈⎢⎰c cos(+) dx ⎥+⎢⎰c sin(+) dx ⎥
N N N N ⎣x 1⎦⎣x 1⎦
2
=
⎰
x 2c cos(
2πx (u +va )
cos(
2πt (u +va )
πvb x 1
N
+
2πvb N ) dx ⎰
x 2c x 1
N
+
2N ) dt
+⎰
x 2c sin(
2πx (u +va ) 2πvb x 22πvb x 1
N +N ) dx ⎰
c sin(
2πt (u +va ) +
N ) dt
x 1
N =c
2
⎰x 2
⎰
x 2cos(
2πx (u +va ) 2πvb
2πvb N
+
) cos(
2πt (u +va )
+
x 1
x 1N N N ) dxdt
+c 2
⎰x 2
x 2sin(
2πx (u +va )
+
2πvb t (u +va ) 2πvb x 1⎰
x 1
N N
) sin(
2πN +
N ) dxdt
=c
2
⎰x 2
x 2cos(
2πx (u +va ) +
2πvb u +va )
N
) cos(
2πt (+
2πvb N
)
x 1
⎰
x 1
N
N + sin(2πx (u +va )
πvb 2πt (u +va ) 2πvb N
+
2N
) sin(
N
+
N
) dxdt
=c 2
⎰x 2x 2cos[
2π(u +va )
(x -t )]dxdt ................................................ (5)
x 1
⎰
x 1
N
设ϕ=
2π(u +va )
则:
N
(5)式=c
2
⎰x 2⎰
x 2cos[x ϕ(x -t )]dxdt
1x 12
=-
c
x 2
ϕ
⎰[sin ϕ(x -x
) -sin x 2
ϕ(x -x 1) ]dx
1
=
c
2ϕ
2
[2-2cos ϕ(x 2-x 1) ]
设θ=
π(u +va )(x 2-x 1)
则:
N
sin 2
(6)式=c 2
(x 2
θ
2-x 1) θ
2
易证得:22
sin θ
θ
2
≤1 ⇒ lim
sin θ
当θ趋近于零的时候出现最大值也就是:
θ→0
θ
2
=1 ⇒
π(u +va )(x 2-x 1)
现最大值,这里有N
=0时出x 1
当u +va =0时(6)试出现最大值 ⇒ v =-
1a
u 时出现最大值
对比直线l 方程y =ax +b 可知:Fourier 变换后在u -v 平面上幅度最大值将出现在与直线l 垂直的方向上
5. 垂直现象的物理意义
5.1图像傅立叶变换的物理意义
由于空间是三维的,图像是二维的,因此空间中物体在另一个维度上的关系就由梯度来表示,这样我们就可以通过观察图像得知物体在三维空间中的对应关系。而像素之间的梯度关系在傅立叶变换后表现为频率,也就是说图像的频率是表征图像中灰度变换剧烈成都的指标。
假设f (x , y ) 为一个N ⨯N 的图像则它的离散二维傅立叶变换可定义为:
F (u , v ) =
1N
N -1N -1
ux N
vy N
∑∑
x =0y =0
f (x , y ) e
-j 2π(+)
其傅立叶反变换为:
f (x , y ) =
1N
N -1N -1
∑∑F (u , v ) e
u =0v =0
N -1
j 2π(
ux N
+
vy N
)
对上述的傅立叶正变换做一些变形可得到下面的式子:
F (u , v ) =
1N -1
∑
x =0
⎡1∑
y =0
f (x , y ) e
-j 2π(
ux N
)
⎤-j 2π(vy )
N
⎥e
⎦
可以看到经过变形后,二维的傅立叶变换可以通过两次一维傅立叶变换得到。因此对图像进行傅立叶变换可以先对行(水平方向)进行一维的傅立叶变换,得出的结果再对列(垂直方向)进行一维的傅立叶变换。这样就是使得图像的傅立叶变换实际上把频率分成水平分量和垂直分量,即u 分量和v 分量。用这个思想再去分析图3.3b 可知:图3.3b 是一幅只包括单条水平线的简单图像,显然它只在垂直方向上有灰度跳变(垂直方向是梯度的方向),所以从它的频谱图中只能看到垂直分量。这样就能很好的解释变换前后所出现的垂直现象。
5.2从公式角度解释垂直现象的物理意义
连续二维傅立叶变换可以表示为:
F (u , v ) =
令ω=
⎰⎰
∞-∞
f (x , y ) e
-j 2π(xu +yv )
dxdy
u v
n =(, ) 表示沿着(u , v ) 方向的单位向量; r =(x , y ) 表示在xy 平面上沿着(x , y ) 方向的向量
ωω
则有: e
j 2π(xu +yv )
=e
j 2πω(
xu
ω
+
yv
ω
)
=e
j 2πω(r ∙n )
代回原式可得:
F (u , v ) =
⎰⎰
∞-∞
f (x , y ) e
-j 2πω(r ∙ n )
dxdy
内积(r ∙ n ) 表示空域内点在向量(u , v ) 方向上的投影。这样就把图像向相应的(u , v ) 所指向的方向投影。这就能很好的解释fringe patterns经过傅立叶变换后,在频谱图中最亮的点是沿着fringe patterns 变化的方向。如图3.3a 的fringe patterns :sin(x +y ) ,当把图像向u =v (或者说是x =y ) 方向投影并以f (x , y ) 灰度值为纵坐标时,可以近似得到图5.2.1中的右图,可以看出f (x , y ) 在u =v
这个方向上有固定频率ω0=是:输入函数sin(x +y ) 的所有点在u =v (或x =y ) 方向的投影所得到的函数只有一个频率为ω0的正弦分量,也就是说所有的点在u =v 方向上只能在(u 0, v 0) 上有值。这样就会产生“叠加”的效果,我们就可以在u -v 平面上看见两个亮点。
图5.2.1将图像投影到(u , v ) 的方向上
现在就能解释为什么对图像进行傅立叶变换后常常会出现水平和垂直的“亮线”,如图
5.2.2的右图是左图的频谱图,由前面的结论可知,频谱图中的水平亮线是由原图中背景的垂直条纹产生,而垂直亮线则主要是由原图中的镜框及一些灰度规律变化的水平线产生的。
图5.2.2原图像与傅立叶变换后的频谱图
6. 总结
通过对单条直线段的简单图像的分析和证明,可以从数学角度和物理意义两个方面解
释傅立叶变换后原图像与生成频谱图之间出现的垂直现象,从而能更好的理解傅立叶变换在图像处理中应用的意义,同时解决了在利用傅立叶变换对图像进行处理过程中的一些疑惑。 参考文献
[1] 张若岚,刘劲松. 图像信号的频域理解[J].数字电视与数字视频. 2002, 1002-8692 [2] 马平编著. 数字图像处理和压缩[M].2007
[3] S. De Nicola a, *, P. Ferraro . A two-dimensional fast Fourier transform method for measuring the inclination angle of parallel fringe patterns[J]. Optics & Laser Technology 30 (1998) 167±173
[4] D.G . Bailey, Dept. of Phys., Massey Univ., Palmerston North, New Zealand . Detecting regular patterns using frequency domain self-filtering [J]. Image Processing, 1997. Proceedings., International Conference on Download from IEEE