Computing and plotting the PSD multiple images by fft2

Hello,
I have a a folder which contains around 2500 frames were divided from a vido of a wter tank experiment. I am trying to plot the "average" 1D & 2D PSD for the whole images(i.e. (psd1+...psd50)/50;
I have tried many aproaches, but I am not sure about the output.
Here is my code:
min=zeros;
min_1D=zeros;
for K = 1 :1500:75000
this_file = strcat('folder\frame',num2str(K),'.tif');
im_input = imread(this_file);
im_input = rgb2gray(im_input);
%%%%
SLength=length(im_input);
Fs=500;
dt = 1/Fs;
q=round(SLength/2);
f=(1/dt)*(0:q)/SLength;
TX_1=fft(im_input);
Px1=abs(TX_1/SLength);
Pxx1=Px1(1:q+1);
min_1D=min_1D+Pxx1;
%%%%%
zfmin=fft2(im_input);
shiftmin=fftshift(zfmin);
min_2D=abs(shiftmin);
z_min=log10(min_2D);
min=min+z_min;
end
PSD_2D= (min)/ 50;
PSD_1D = (min_1D)/ 50;
figure,
imagesc(PSD_2D)
colormap gray
  • Do I have to substract the mean>
TX_1=fft(im_input-mean ((im_input))?
btw the actual length is 0.2398 mm/pixel.
I appreciate your feedback and comments.
Thanks

回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeFourier Analysis and Filtering についてさらに検索

タグ

質問済み:

2021 年 4 月 29 日

編集済み:

2021 年 5 月 7 日

Community Treasure Hunt

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

Start Hunting!

Translated by