manipulating each pixel in an image sequence

5 ビュー (過去 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 Center および File ExchangeImages についてさらに検索

製品


リリース

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by