FFT on Image Time Series

8 次查看(过去 30 天)
I am working on a stream of images ( time series), where the images are captured by camera after illuminating with a sinusoidally modulated light source, I am interested in the response of the object captured by camera to the illuminating light source. Am I to use a one dimensional fft on each pixel location in the time series? two dimensional fft on each pixel location in the time series? or am I to use two dimensional fft on the whole image

采纳的回答

Jonas
Jonas 2022-8-11
if the object of your camera is more or less static and illuminated with a temporally modulated light source and you are interested in how the object changes its appearance over time, i would use a 1d fft on each pixel location over time. this results into e.g. 200x200 = 40000 complex valued ffts over time if you image is e.g. 200x200. you then have to think about in how to combine those spectra. if you are interested in magnitude, you may e.g. combine the spectra by using e.g. mean, median or max of the magnitude spectra.
take the abs first before using e.g. mean to avoid loss of information due to contrary phase (e.g. imagine two pixels changing values sinusoidally, but one starting black, the other white. due to the 180° phase difference the spectra would delete each other if you dont take abs before e.g. mean)
also delete the mean value of each (not all) Pixel value before fft, since the DC fft coefficient (the mean value, 0 Hz) is usually much bigger in magnitude than the non 0 Hz values. this can be done pixel wise by e.g. vid-mean(vid,3) if vid is a 3d matrix containing the images stream with temporal dimension along dimension 3
  9 个评论
faisal sani
faisal sani 2022-8-13
This is the modification I have made, finally I am having variants of fft based images
finalResult_median = zeros(size(our_images_series,2),size(our_images_series,1));
finalResult_max = zeros(size(our_images_series,2),size(our_images_series,1));
finalResult_min = zeros(size(our_images_series,2),size(our_images_series,1));
k = 1; % counter variable in for loop
for r = 1:size(our_images_series, 1) % for number of rows of the image
for c = 1:size(our_images_series, 2) % for number of columns of the image
finalResult_median(k)= median(pixelwiseFFT(r,c,:));
finalResult_max(k) = max(pixelwiseFFT(r,c,:));
finalResult_min(k) = min(pixelwiseFFT(r,c,:));
k = k+1; % increment counter loop
end
end
Faisal Sani Bala
Faisal Sani Bala 2022-10-17
I am working on a stream of images ( time series), where the images are captured by camera after illuminating with a chirp (non-stationary sinusoidal) light source, I am interested in the response of the object captured by camera to the illuminating light source. Is it possible to develop a single image from the image series based on the wavelet transform for each pixel series?

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by