manipulating each pixel in an image sequence

조회 수: 2 (최근 30일)
AAS
AAS 2022년 3월 16일
답변: yanqi liu 2022년 3월 17일
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).

답변 (2개)

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

yanqi liu
yanqi liu 2022년 3월 17일
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

카테고리

Help CenterFile Exchange에서 Image Processing Toolbox에 대해 자세히 알아보기

제품


릴리스

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by