15分鐘理解數字影象中的二維傅立葉變換語義

weixin_33807284發表於2018-11-22

0 概述

最近在做影象與視覺方面的一些內容,關於數字影象中的二維傅立葉變換,一直在思考如何將二維傅立葉變換的語義形象地解釋。今天翻閱https://plus.maths.org/content/上面的文章,偶爾發現了一篇文章(https://plus.maths.org/content/fourier-transforms-images),居然沒用一個公式,將影象處理中的二維傅立葉變換解釋得如此清楚。(如果不介意英語,請直接看原文)

1 二維傅立葉變換在影象中的理解

一般而言,我們平時所指的影象是平面影象,包含x軸和y軸,很多情況下,我們是在處理灰度圖,如邊緣提取、輪廓獲取等。在灰度圖中,每一個畫素點的取值範圍維[0, 255],將影象看成一個函式,其中,分別表示軸和軸的座標值,表示灰度值,則可以看成一個三維立體影象,如下圖所示:

2756933-0a99d0f02e61508a.png
圖1: 二維影象和立體灰度圖

在繼續之前,先看看平面二維的灰度圖在三維空間中長什麼樣?請看下圖:


2756933-201d32234e2f305b.png
圖2

接著請看:


2756933-587fee75e88271f7.png
圖3

其中,u軸表示灰度值,它對應的函式是,其中分別表示軸的頻率。

其實到這裡,熟悉一維ft的同學,應該已經猜到後面該二維傅立葉變換的語義了,只不過一維情況是時間域和頻域的對應,時間是一維的,只有一個頻率方向變換,而在二維傅立葉變換時,頻域對應兩個方向分量,一個是軸對應的頻率方向分量,還有一個是軸對應的頻率方向分量。

繼續看下面特殊的例子:


2756933-dbaecd8af2a8ed35.png
圖4: 左邊是空間域,右邊是頻域

在二維傅立葉變換後的影象中(即頻域圖),每個畫素都有一個對應的,其中表示空間域原圖中軸頻率,表示軸頻率。(0, 0)表示空間域影象中灰度沒有變化的區域,其亮度表示影象的平均灰度值。

圖4是的影象,請看圖2,顯然,在原圖的軸上是沒有灰度變化的,而在原圖的軸是有灰度變化的,由圖4中右邊的頻域圖即可看出,(-1,0)、(0,0)、(1,0)這三個白點剛好體現了這種變化(回憶一維情況下的頻域)。

下面兩張圖更明顯:


2756933-da21cac557b36b79.png
圖5: sin(20x)+sin(10y)
2756933-a6d608323b1c9ae4.png
圖6: sin(100x+50y)

觀察圖5和圖6,很容易看出其中變化。

如果我們將空間域的原圖旋轉,則頻域的影象必然也跟著旋轉(還是看空間域與頻域的座標軸對應關係),請看下圖:

2756933-c7e56c607d4d6295.png
圖7: 影象旋轉

2 結論

這篇文章的關鍵一步是將空間域影象中的灰度值作為一個軸,變換到3維空間,然後在此基礎上解釋二維傅立葉變換。此外,要注意的是:空間域影象中畫素點與頻域影象中的畫素點是沒有直接對應關係,與像一維影象中的情況一樣。

相關文章