manipulating each pixel in an image sequence

5 Ansichten (letzte 30 Tage)
AAS
AAS am 16 Mär. 2022
Beantwortet: yanqi liu am 17 Mär. 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).

Antworten (2)

Walter Roberson
Walter Roberson am 16 Mär. 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 am 17 Mär. 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

Kategorien

Mehr zu Images finden Sie in Help Center und File Exchange

Produkte


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by