power spectrum plot of an image

35 ビュー (過去 30 日間)
Dsp
Dsp 2013 年 12 月 10 日
編集済み: Prasobhkumar P. P. 2020 年 3 月 10 日
I am quite new to signal processing and matlab, and I have begun (a small project) to calculate the power spectrum of an image in the frequency domain - and plot this against the frequency.
So, what I have till now is the following:
close all; clear all;
img = imread('my_pic.jpg','jpg'); % it is a color image 400px x 400px
img = rgb2gray(img); % change to gray
psd = 10*log10(abs(fftshift(fft2(img))).^2 );
figure(2); clf
mesh(psd)
So far it looks good - I get the mesh plot which resembles the spectra I see in various academic papers.
However, what I am looking for is a graph plot of this power spectra Vs. the frequency - and I am not entirely sure how to get this frequency vector for the image. I could do say:
N=400; % the image is 400 x 400
f=-N/2:N/2-1; % possible frequencies?
.. but I am not convinced this is entirely correct.... I'd really appreciate if someone could point me in the right direction to plot log frequency Vs. the power spectrum.
  1 件のコメント
Jan
Jan 2013 年 12 月 11 日
I would agree to your suggestion. The notion of spatial frequencies in image is at a first glance not quite as intuitive as in other digital signal processing applications. However, in my opinion a spatial frequency in an image depends on the geometry of the optics (recording distance, pixel size, pixel pitch etc.) in much the same way as a frequency in a one dimensional signal depends on the sampling rate. Yet I would appreciate an input of more experienced forum members on this point.

サインインしてコメントする。

回答 (1 件)

Prasobhkumar P. P.
Prasobhkumar P. P. 2020 年 3 月 4 日
編集済み: Prasobhkumar P. P. 2020 年 3 月 10 日

カテゴリ

Help Center および File ExchangeFourier Analysis and Filtering についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by