560 likes | 1.18k Views
第七章 傅立葉轉換. 7.1 導 論 7.2 背景 7.3 一維離散傅立葉轉換 (DFT) 7.4 一維 DFT 的特性 7.5 二維 DFT 7.6 MATLAB 中的傅立葉轉換 7.7 影像之傅立葉轉換 7.8 頻率域的濾波 7.9 同態濾波. 7.1 導論. 傅立葉轉換是影像處理中,不但可以做到用其他方法無法得到的結果,也比其他方式要來的有效率。傅立葉轉換可以用於擷取貨處理特定影像頻率,在執行高通濾波時能夠的到更精確的效果。. 7.2 背景.
E N D
第七章 傅立葉轉換 7.1 導論 7.2背景 7.3一維離散傅立葉轉換(DFT) 7.4一維DFT的特性 7.5二維DFT 7.6MATLAB中的傅立葉轉換 7.7影像之傅立葉轉換 7.8頻率域的濾波 7.9同態濾波
7.1 導論 傅立葉轉換是影像處理中,不但可以做到用其他方法無法得到的結果,也比其他方式要來的有效率。傅立葉轉換可以用於擷取貨處理特定影像頻率,在執行高通濾波時能夠的到更精確的效果。
7.2 背景 週期性函數可寫成不同振幅和頻率的正弦波與餘弦波之總和。如Fig7.1所示,我們將一個函數分解為幾個正弦函數的和。
在Fig7.2中,若只取前四項,得到的僅是近似值。取的級數項數越多,總和便越接近原始函數。在Fig7.2中,若只取前四項,得到的僅是近似值。取的級數項數越多,總和便越接近原始函數。 Fig7.2 方波及其三角函數分解法
7.3一維離散傅立葉轉換(DFT) 使用傅立葉轉換可以得到構成指定函數或數列的各項正弦波。由於這裡主要處理的是離散數列以及影像,因此只探討離散傅立葉轉換(discrete Fourier transform),縮寫為DFT。 處理離散函數時(或之後要處理的數位影像)和前節所述方式稍有不同,因為這裡數值數量有限,只需要有限個函數便可以。 舉例來說,下列離散數列 1, 1, 1, 1, -1, -1, -1, -1, 可視為Fig7.2方波的離散近似值,也可以用兩個正弦函數的和來表示,如Fig7.3。
7.3.1一維DFT的定義 (7.2) 此方程式與7.2節的傅立葉級數展開法的方程式相當類似,差別在於這裡非積分,而是一個有限的總和。此定義也可以用矩陣乘積來表示。 反DFT的公式和正向轉換十分相似。 (7.3)
若比較方程式7.3與方程式7.2,就會發現其實只有三點不同:若比較方程式7.3與方程式7.2,就會發現其實只有三點不同: 沒有縮放係數1/N。 指數函數中的符號改為正。 總和索引變數改為u,而非x。
在MATLAB中,可用fft與ifft來計算正向與反傅立葉轉換。fft代表快速傅立葉轉換(fastFourier transform),是一種可以快速有效率地執行DFT的方法。 舉例來說: 在MATLAB中要將單一向量帶入DFT,必須使用向量。
7.4一維DFT的特性 線性由DFT矩陣乘積的定義便可推論出此特性。假設f和g是相同長度的兩個向量,p和q為純量,令h=pf+qg。若F、G與H分別為f、g與h的DFT,則 H=pF+qG 此結果是由以下定義 F=Ff, G=Fg, H=Fh 及矩陣乘積的線性特性推導而來。
平移將向量X的各個元素Xn乘以(-1)^n,也就是說,每隔兩個元素改變其正負號。假設這樣產生的向量為x’,x’的DFTx’若將左右兩邊互換,就和x的DFTx相等。平移將向量X的各個元素Xn乘以(-1)^n,也就是說,每隔兩個元素改變其正負號。假設這樣產生的向量為x’,x’的DFTx’若將左右兩邊互換,就和x的DFTx相等。 以MATLAB做個簡單的例子:
X的前四個單元是X的四個單元,反之亦然。 共軛對稱範例如上
旋積假設x與y同樣是長度為N的向量,則其旋積(convolution)(更精確來說是環形旋積(circular convolution))。 MATLAB的函數conv可以產生課本上定義的多項式p(u)q(u)的係數:
快速傅立葉轉換影像處理常使用DFT的其中一個原因,就是DFT可以使用快速的演算法來進行運算。DFT運算有好幾種非常快速且效率極高的演算法,其中快速傅立葉轉換(fast Fourier transform),又稱FFT。
7.5 二維DFT 在二維下,DFT的輸入為矩陣,輸出為同樣大小的另一個矩陣。假設原始矩陣值為f(x,y),x與y為索引,則輸出矩陣為F(u,v),我們稱矩陣F便是f的傅立葉轉換(Fourier transform),寫成 F=F(F) 原始矩陣f是F的反傅立葉轉換(inverse Fourier transform),寫成 f=F^(-1)*(F)
7.6MATLAB中的傅立葉轉換 fft,計算向量的DFT ifft,計算向量的的反DFT fft2,計算矩陣的DFT ifft2,計算矩陣的反DFT ffshift,平移轉換
7.7影像之傅立葉轉換 產生一個包含單一邊界的簡單影像,計算DFT然後平移。
檢視頻譜有兩種方式: afl=log(1+abs(af)); imshow(afl/afl(129,129)) Imshow(mat2gray(log(1+abscaf)))
7.8頻率域的濾波 7.8.1 理想濾波 低通濾波: 平移傅立葉轉換矩陣F,將DC係數置於中心。由於低頻部分位於中心,因此低通濾波運算,可以將轉換乘上某種矩陣,使得中心值保持不變,並去除或縮小離中心偏遠的數值。其中一種方法就是乘上理想低通矩陣(ideallow-passmatrix)。
代入理想低通濾波器 (a)DFT經過理想濾波器 (b)反轉換後
不同截頻點之理想低通濾波器 (a)截頻點為5(b)截頻點為30
高通濾波: 高通濾波的作用與低通濾波剛好相反,在於消除中心值,讓其他值保持不變。 將影像代入理想高通濾波器 (a)高通濾波後的DFT(b)結果影像
不同截頻點之理想高通濾波器 (a)截頻點為5(b)結果影像
不同截頻點之理想高通濾波器 (c)截頻點為30(d)結果影像
7.8.2Butterworth濾波 理想濾波器直接切除傅利葉轉換距中心某個距離外的部分。這種截頻點的使用十分方便,但缺點是結果會產生不必要的波紋。要避免這種現象,可使用截頻點較不銳利的圓形當作率波矩陣。像是Butterworth filters就常被使用。
Butterworth濾波器函數,n=2 (a)低通 (b)高通
Butterworth濾波器函數,n=4 (a)低通 (b)高通
(a)代入Butterworth(b)結果影像 低通濾波後的DFT
(a)代入Butterworth(b)結果影像 高通濾波後的DFT
7.8.3 高斯濾波 高斯濾波,可當作低通濾波使用。不過,高斯濾波器也可以在頻率域使用。與理想和Butterworth濾波器一樣,產生高斯濾波器,與影像的傅立葉轉換相乘,然後反轉換。
頻率域的高斯低通濾波 (a)設σ=10(b)結果影像
頻率域的高斯高通濾波 (a)設σ=10 (b) σ=30
7.9 同態濾波 產生的影像可能會有某些部分非常明亮,而陰影的部分就可能會顯得十分陰暗。
END 同態濾波圖從缺..