二维傅里叶变换是怎么进行的?
1.首先回顧一下一維FT
通俗來講,一維傅里葉變換是將一個一維的信號分解成若干個三角波。
對于一個三角波而言,需要三個參數來確定它:頻率,幅度 A ,相位。因此在頻域中,一維坐標代表頻率,而每個坐標對應的函數值也就是是一個復數,其中它的幅度就是這個頻率三角波的幅度 A ,相位就是?。下圖右側展現的只是幅度圖,在信號處理中用到更多的也是幅度圖。
2.類比:從一維到二維
一維信號是一個序列,FT將其分解成若干個一維的簡單函數(三角波)之和。二維的信號可以說是一個圖片,類比一維,那二維FT是不是將一個圖片分解成若干個簡單的圖片呢?
確實是這樣,二維FT將一個圖像分解成若干個三角平面波之和。如下圖:
對于三角平面波,可以這樣理解,在一個方向上存在一個三角函數,在法線方向上將其拉伸。前面說過三個參數可以確定一個一維的三角波。哪幾個參數可以確定一個二維的三角平面波呢?答案是四個,其中三個和一維的情況一樣(頻率?,幅度 A ,相位?),但是具有相同這些參數的平面波卻可以有不同的方向。如下圖所示:
兩個不同方向的平面波疊加
3.二維頻率域K-SPACE
在一維中由于分解后的參數只要三個,所以用一個序列就能存儲它:下標表示頻率,存儲的內容表示此頻率的三角波的幅度和相位。而對于二維FT變換后的平面波有四個參數,那怎末來保存呢?
類比一維中,幅度和相位可以用一個復數表示,它可以作為我們存儲的內容。但是還有兩個:一個頻率一個方向。這時想到向量是有方向的,也是有長度的。所以我們用一個二維的矩陣的來保存分解之后得到的信息。這個矩陣就是K空間。(一般用k來表示空間頻率,單位是1/m)
什么意思呢?就是說一個二維矩陣點代表這個平面波的法向量,這個向量的模代表這個平面波的頻率?,這個點里面保存的內容復數就是此平面波的幅度和相位。下面這個圖很好的體現了這一點:
也因此K空間的中心對于低頻,周圍對于高頻。如下圖,K空間中只有(0,0)處有值,也就是信號都是直流即不存在變化,所以實空間就是一張白紙。
再如下面這個圖片,中心低頻貢獻了圖像的主體,周圍高頻提供圖像的細節和邊緣。
4.關于K空間
在一維FT變換后,頻域呈現對稱性,也就前半段代表(0,fs/2),而后半段代表(-fs/2,0)。在二維中也是如此。因此為了方便理解,一般會對圖像進行fftshift,將其交叉替換,將0頻移至中心。另外,K空間也具有共軛對稱性。
下面這個圖像顯示了二維傅里葉變換中,實空間旋轉多少,頻率空間也會相應旋轉多少。這其實是高維傅里葉變換縮放定理的一種特殊情況。
5.二維傅里葉變換公式
上式為二維FT的公式。可以證明的實部也就是是一個三角平面波。也就是說,二維FT的公式就是將與每個不同方向不同頻率的平面波做積分,求出這個基的系數。至于為什么這樣可以,就要涉及到正交基、內積、線性空間的知識了。
總結
以上是生活随笔為你收集整理的二维傅里叶变换是怎么进行的?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++实现 (FFT)一维快速傅里叶变换
- 下一篇: Linux 关闭、开启、查看 防火墙命令