manipulating each pixel in an image sequence

2 views (last 30 days)
AAS
AAS on 16 Mar 2022
Answered: yanqi liu on 17 Mar 2022
Hi,
I have an image sequence of about 40 frames. I have some noise and out of plane motion in this sequence. I would like to look at each pixel in the 2D image over these 40 frames . How do I do that? How do I manipulate (reduce noise) and also draw information from each pixel (get FFT of the pixel over 40 frames).

Answers (2)

Walter Roberson
Walter Roberson on 16 Mar 2022
k = 3;
dim = 3;
filtered_sequence = movmedian(ImageSequence, k, dim);
fft_of_sequence = fft(ImageSequence, [], dim); %fft over third dimension

yanqi liu
yanqi liu on 17 Mar 2022
yes,sir,may be use loop to process,such as
for i = 1 : 40
im = imread(fullfile(pwd, 'images', sprintf('%02d.jpg')));
for j = 1 : size(im, 3)
im2(:,:,j) = medfilt2(im(:,:,i));
end
im3 = mat2gray(log(abs(fft2(double(im2(:,:,1))))+eps));
figure(i);
subplot(1,3,1); imshow(im, []); title(sprintf('origin image %02d', i));
subplot(1,3,2); imshow(im2, []); title(sprintf('medfilt denoise image %02d', i));
subplot(1,3,3); imshow(im3, []); title(sprintf('fft image %02d', i));
end

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!