2016-11-15 112 views
0

我想要獲得某些圖像所有頻率的一維功率直方圖。我將描述迄今爲止我所做的。MATLAB:從FFT2頻譜獲取功率直方圖

  1. 讀取的圖像(如果neccessary,轉換爲灰度)
  2. 計算FFT2和移位它
  3. 在傅立葉域,應用一些濾波器
  4. 重新轉換到空間域和顯示(爲視覺驗證過濾器工作)

  5. FFT2和fftshift新創建的圖像(可選,我可以使用前ifft2輸入以及)

  6. 計算功率譜,即,。^ 2所有的傅立葉域值

現在開始棘手的部分。對於功率直方圖,我必須得到所有涉及頻率的特定頻率的所有值。 有了一個連續的信號,我只需要從0到2pi爲所有頻率進行積分,就是這樣。

但我不能整合離散值,至少我認爲這是錯誤的。對於從0到2pi的積分,我不得不總結所有與第0頻率有一定距離的值。 我不能那樣做,因爲那麼我必須確定距離中心的距離,因爲這些值位於方形矩陣中,所以會失敗。 如果我要總結一個有限寬度環的值,那麼我必須確保不多次選擇某些值。

也許我只是在一個錯誤的方向思考,因爲我相對較新的MATLAB。但是,我怎樣才能計算這樣的功率直方圖?

Phreak

回答

0

這看起來像你需要:FEX

雖然我不知道你爲什麼會不直接使用二維信息。

+0

謝謝,我找到了一個在尋找此事。我試圖用這個項目來達到我的目的,但是沒有成功。我會仔細看看。我有類似的問題,關於所有角度的直方圖,即我試着總結第0頻率的「楔子」。 – PhreakShow

+0

使用以0頻率爲中心的座標創建網格。然後將網格中的X和Y座標轉換爲極座標。使用scatteredInterpolant獲取字段,然後在特定的r和theta步驟均勻採樣以獲得您的直方圖。 –