manipulating each pixel in an image sequence

5 vues (au cours des 30 derniers jours)
AAS
AAS le 16 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).

Réponses (2)

Walter Roberson
Walter Roberson le 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 le 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

Catégories

En savoir plus sur Images dans Help Center et File Exchange

Produits


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by