多媒体科技

15分钟理解数字图像中的二维傅立叶变换语义

2018-11-22  本文已影响74人  CodingTech

0 概述

最近在做图像与视觉方面的一些内容,关于数字图像中的二维傅立叶变换,一直在思考如何将二维傅立叶变换的语义形象地解释。今天翻阅https://plus.maths.org/content/上面的文章,偶尔发现了一篇文章(https://plus.maths.org/content/fourier-transforms-images),居然没用一个公式,将图像处理中的二维傅立叶变换解释得如此清楚。(如果不介意英语,请直接看原文)

1 二维傅立叶变换在图像中的理解

一般而言,我们平时所指的图像是平面图像,包含x轴和y轴,很多情况下,我们是在处理灰度图,如边缘提取、轮廓获取等。在灰度图中,每一个像素点的取值范围维[0, 255],将图像看成一个函数u = f(x, y),其中,x, y分别表示x轴和y轴的坐标值,u表示灰度值,则x, y, u可以看成一个三维立体图像,如下图所示:

图1: 二维图像和立体灰度图

在继续之前,先看看平面二维的灰度图在三维空间中长什么样?请看下图:


图2

接着请看:


图3

其中,u轴表示灰度值,它对应的函数是u = asin(hx + ky),其中h, k分别表示x, y轴的频率。

其实到这里,熟悉一维ft的同学,应该已经猜到后面该二维傅立叶变换的语义了,只不过一维情况是时间域和频域的对应,时间是一维的,只有一个频率方向变换,而在二维傅立叶变换时,频域对应两个方向分量,一个是x轴对应的频率方向分量,还有一个是y轴对应的频率方向分量。

继续看下面特殊的例子:


图4: 左边是空间域,右边是频域

在二维傅立叶变换后的图像中(即频域图),每个像素都有一个对应的(h, k),其中h表示空间域原图中x轴频率,k表示y轴频率。(0, 0)表示空间域图像中灰度没有变化的区域,其亮度表示图像的平均灰度值。

图4是sin(x)的图像,请看图2,显然,在原图的y轴上是没有灰度变化的,而在原图的x轴是有灰度变化的,由图4中右边的频域图即可看出,(-1,0)、(0,0)、(1,0)这三个白点刚好体现了这种变化(回忆一维情况下sin(t)的频域)。

下面两张图更明显:


图5: sin(20x)+sin(10y) 图6: sin(100x+50y)

观察图5和图6,很容易看出其中变化。

如果我们将空间域的原图旋转,则频域的图像必然也跟着旋转(还是看空间域与频域的坐标轴对应关系),请看下图:

图7: 图像旋转

2 结论

这篇文章的关键一步是将空间域图像中的灰度值作为一个轴,变换到3维空间,然后在此基础上解释二维傅立叶变换。此外,要注意的是:空间域图像中像素点与频域图像中的像素点是没有直接对应关系,与像一维图像中的情况一样。

上一篇下一篇

猜你喜欢

热点阅读