天天看點

matlab 三維顯示原圖像_數字圖像處理:Two-Dimensional Fourier Transform and Filte

摘 要:傅立葉變換在圖象處理的應用領域中起着極其重要的作用,通過傅裡葉變換進行圖象分析、圖象增強及圖象壓縮等來獲得需要的資訊。本實驗采用二維快速傅裡葉變換對圖像進行頻域濾波,共編寫了一個2-D FFT程式和一個高斯低通濾波器的程式,對圖像進行濾波,并通過原圖減去高斯低通濾波後的圖像實作銳化并且顯示圖檔在二維和三維當中的幅度譜和相位譜。

歡迎關注、點贊、收藏、私信、交流】共同學習進步 一、實驗目的

該實驗的目的是開發一個 2-D FFT 程式包。要求程式能完成下面的功能:

(1.a) 用因子乘以輸入圖像,以實作濾波的中心化變換;

(1.b) 計算傅裡葉變換;

(1.c) 用一個實矩陣乘以一個複數矩陣,即用實矩陣中的元素同時乘以複數矩陣對應位置上的複數的實部與虛部。可以通過調用兩個圖像的乘法程式來實作對應元素的相乘;

(1.d) 計算反傅裡葉變換;

(1.e) 結果乘以,并取其實部;

(1.f) 計算頻譜。

(1.g) 計算圖 4.41(a)的中心化後的傅裡葉譜;

(1.f) 使用二維圖像和三維圖形兩種形式顯示計算的幅度譜和相位譜;該實驗主要實作 4.7.3 節的算法。若試驗中使用 MATLAB 語言實作, 則在(1.b)和(1.d)中二維傅裡葉變換和反變換程式可以使用 Matlab 的函數 FFT2 和 IFFT2。

(2.a) 編寫一個實作公式(4.8-6)所示的高斯低通濾波器的程式。

(2.b) 對圖 4.41(a)進行高斯低通濾波以獲得圖 4.48(c)。

(3.a) 如公式(4.9-1)所示,原始圖像減去實驗(2.b)中的圖像得到銳化後的圖像。觀察結果圖像與圖 4.56 中得到的高斯高通濾波結果圖的差異, 并解釋其中的原因。

(3.b) 調整高斯低通濾波器變量,使(3.a)中的減法銳化圖與圖 4.56(c)接近為止,并解釋你的結果。

二、技術論述

1 離散傅裡葉變換—DFT

(a)、離散傅裡葉變換不是一個新的傅裡葉變換形式,它來自于DFS,不過是在時域和頻域各取一個周期,再經過周期延拓便可得到整個變換。離散傅裡葉變換在時域和頻域上都呈現離散的形式,且都是有限長。将時域信号的采樣變換為在離散時間傅裡葉變換(DTFT)頻域的采樣,而實際上這兩組序列都應當被認為是離散周期信号的主值序列。DFT的公式為:

(b)、由于我們要處理的圖像是二維的,是以需要用到二維離散傅裡葉變換,設f(x,y)是大小為M*N的數字圖像,與一維離散傅裡葉變換一樣必須在離散變量u和v在u=0,1,2,…,M-1和v=0,1,2,…,N-1範圍内求值,二維離散傅裡葉變換的公式為:

二維傅裡葉反變換公式:

通常二維傅裡葉變換的是複函數,是以可以用極坐标的形式來表示,令R和I是F(u,v)的實部和虛部,則:

幅度譜:

相位譜:φ(u,v)=arctan(I(u,v)/R(u,v))

功率譜:

(c)、快速傅裡葉變換FFT不是與傅裡葉變換不同的另一種變換,而是為了減少DFT運算次數的一種改進算法。它使其成為若幹小點數的組合對變換式進行一次次分解,進而減少運算量。通常FFT以2為基數,長度N=2l,當要變換的序列長度不是2的整數次方時,仍然取2為基數的FFT,然後在末位進行補零,使其長度延長至2的整數次方。FFT具有使用非常友善、運算效率高、程式簡單等優點。

2 傅裡葉譜的中心化處理

在數字圖像進行中通常為了清楚地觀察F(u,v)的譜線情況需要将原點移到M*N頻域的中心。令:,便得到:

是以若要将圖像譜的原點從(0,0)移到圖像的中心點(N/2,N/2)處,隻要将乘上因子,然後進行傅立葉變換即可。

4 頻率域濾波步驟

  1. 大小為M*N的輸入圖像f=(x+y),選擇填充參數P>=2M-1和Q>=2N-1;
  2. 對f(x+y)添加必要數量的0,形成大小P*Q的填充後的圖像;
  3. 用乘以移動到其變換中心;
  4. 計算自步驟3的DFT,得到;
  5. 生成一個實的、對稱的濾波函數P*Q,中心在(P/2,Q/2)處,用陣列相乘形成H和F的乘積;
  6. 得到處理後的圖像G(x,y);
  7. 通過從G(x,y)的左上象提取M*N區域,得到最終的處理結果個g(x,y)。

5 高斯低通濾波器

低通濾波是要保留圖像中的低頻分量而去除圖像中的高頻分量。圖像中的邊緣和噪聲都對應圖像頻域中的高頻部分,是以通過在頻域中的低通濾波可以除去或消弱噪聲影響并模糊邊緣輪廓,與時域中的平滑方法效果類似。要實作低通濾波需要選一個合适的模闆h(u,v)以得到消弱圖像頻率域H(u,v)的高頻分量。高斯濾波器的二維函數為:

式中是距頻率矩形中心的距離。是截止頻率。

四、實驗結果讨論

通過素材Fig4.41(a).jpg進行二維快速傅裡葉變換、圖像傅裡葉頻譜、相位譜的計算及高斯低通濾波器的設計與驗證。如圖4-1所示是原圖像傅裡葉變換的幅度譜和相位譜,圖4-2是原圖像的傅裡葉變換三維幅度譜和相位譜,圖4-3是fftshift函數中心變換後的二維傅裡葉幅度譜和fft_zxzh中心變換後的二維傅裡葉圖,圖4-4是自程式設計式fft_zxzh中心變換圖的二維傅裡葉幅度譜和相位譜,圖4-5是fft_zxzh中心變換的三維傅裡葉幅度譜和相位譜,圖4-6是中心化變化圖和原始圖。(程式見附錄)

matlab 三維顯示原圖像_數字圖像處理:Two-Dimensional Fourier Transform and Filte

圖4-1 原圖像傅裡葉變換的幅度譜和相位譜

matlab 三維顯示原圖像_數字圖像處理:Two-Dimensional Fourier Transform and Filte

圖4-2原圖像的傅裡葉變換三維幅度譜和相位譜

matlab 三維顯示原圖像_數字圖像處理:Two-Dimensional Fourier Transform and Filte

圖4-3是fftshift和fft_zxzh函數中心變換後幅度譜和二維傅裡葉圖

matlab 三維顯示原圖像_數字圖像處理:Two-Dimensional Fourier Transform and Filte

圖4-4是自程式設計式fft_zxzh中心變換圖的二維傅裡葉幅度譜和相位譜

matlab 三維顯示原圖像_數字圖像處理:Two-Dimensional Fourier Transform and Filte

圖4-5 fft_zxzh中心變換的三維傅裡葉幅度譜和相位譜

matlab 三維顯示原圖像_數字圖像處理:Two-Dimensional Fourier Transform and Filte

圖4-6 中心化變化圖和原始圖

設計高斯低通濾波器程式,通過不同的截止頻率D0=30、60、160可以對圖4.41(a)進行高斯低通濾波以獲得濾波後的圖像如圖4-7所示。通過原圖像減去高斯低通濾波後的圖像可以得到銳化後的圖像如圖4-8所示。

matlab 三維顯示原圖像_數字圖像處理:Two-Dimensional Fourier Transform and Filte

圖4-7 不同截止頻率時GLPF濾波後的輸出圖像

matlab 三維顯示原圖像_數字圖像處理:Two-Dimensional Fourier Transform and Filte

圖4-8(b) 不同截止頻率時銳化後的圖像

五、實驗結論

經過對2-D FFT和高斯低通濾波後的圖像生進行對比分析可知:

通過圖4-1原圖像傅裡葉變換的幅度譜和相位譜和圖4-2原圖像傅裡葉變換三維的幅度譜和相位譜的對比分析可知,兩者在二維的幅度譜和相位譜上沒有太大的差別,但是在三維上的幅度譜和相位譜有明顯是差別,經過濾波處理後的幅度譜填滿了整個坐标軸,其相位譜也更加的集中在三維坐标的中心,将整個相位圖進行了移動。

通過圖4-3、圖4-4、圖4-5和圖4-6的對比可以發現,圖檔乘以因子後,整個圖檔灰階變暗,是因為乘以該因子後,圖檔的灰階級有一半變為負數,而圖檔的灰階範圍隻有[0 255],是以灰階級為負的話預設為0,圖檔再進行取實和反傅裡葉變化後,整體圖檔與原圖相比變得比較模糊,那是因為該圖檔隻取了實部的原因。對比前後的頻譜圖還可以發現,經過濾波後圖像的頻譜更加的集中了,中間的光點變小,說明達到了濾波的效果。

圖4-7為經過高斯低通濾波後的圖像,其中使用了不同的截止頻率D0為30,60,160,可以發現随着D0的變換,得到的輸出圖像也會發生變換,當D0變大的時候,輸出圖像會越來越清晰,當D0=160時,輸出圖像出現了原圖像沒有的細節,同時邊緣也出現了漸變的黑色區域,因為由于圖像是在一個填充區域上實作濾波,故輸出的圖像邊緣出現了漸變的黑色區域。

圖4-8為用原圖像減去不同截止頻率的濾波圖像後的銳化效果。可以看到在取較小的值的時候銳化效果更為明顯,當=30時,圖像要比其他的圖檔要清晰。觀察結果圖像與課本圖4.56中得到的高斯高通濾波結果圖的差異,在取值相同的情況下,原圖像減去濾波圖像後的輸出圖像的邊緣亮度要高于直接使用高斯濾波器的濾波圖像。調整高斯低通濾波器變量時得到的減法銳化圖像與圖4.56(c)效果接近。

附錄:程式清單
%1 % 2-D FFT 程式包
           

繼續閱讀