2017-02-01 49 views
0

輸入圖像在FFT移

enter image description here

清單-1

i = imread('Untitled.png'); 
i = rgb2gray(i); 
F = fft2(i); 
%%%F = fftshift(F); 
F = abs(F); 
F = log(F+1); 
F = mat2gray(F); 
imshow(F); 

輸出

enter image description here

上市-2

i = imread('Untitled.png'); 
i = rgb2gray(i); 
F = fft2(i); 
F = fftshift(F); 
F = abs(F); 
F = log(F+1); 
F = mat2gray(F); 
imshow(F); 

輸出

enter image description here

眼看着上述兩個輸出,你可以回答以下問題,

  1. 爲什麼圖像的FFT會產生這樣的頻譜,其中零頻率位於圖像的角落?

  2. 爲什麼這是一個問題(或者是)?

  3. 爲什麼換檔操作可以修復這種現象?

+0

這兩個列表似乎是相同的? – Florian

+0

@弗洛裏安,謝謝。糾正。 – anonymous

回答

3

這裏有一些答案:

  1. 爲什麼圖像的FFT產生這樣的頻譜,其中零個 頻率是在圖像的角落?

fft是離散傅立葉變換(DFT)的快速實現。在1-D中,DFT定義爲X [m] = \ sum_n x [n] exp(j 2 pi(m-1)(n-1)/ N)。因此,顯然,變換的第一個元素對應於頻率零。這在2D中是相似的,其中第一行/列承載零頻率。

  1. 爲什麼這是一個問題(或者是)?

這不是,根本不是。它按預期工作。這可能只是一個「問題」,我們更習慣於看到中間的零頻率,因爲頻譜有一些對稱性,所以我們喜歡用[奈奎斯特,奈奎斯特]而不是[0,2 *奈奎斯特]來觀察它。雖然從技術上講這是沒有什麼不同的,因爲它反正是週期性的。

  1. 爲什麼換檔操作可以修復這種現象?

由於將零頻移動到中間會產生視覺上更令人愉快的圖像,因此可以執行此項工作。它僅用於顯示。fftshift的文檔詳細說明了它是如何工作的,同樣也用於2D。