How to register and average images together from a mat file

7 views (last 30 days)
Cameron Kreevich
Cameron Kreevich on 29 Nov 2021
Commented: yanqi liu on 30 Nov 2021
I was given a mat file that contains a collection of shifted frames. I need to figure out how to register the shifted frames and average them together. I am pretty unfamiliar with this side of matlab so I don't really know where to begin, any help would be appreciated.
I have attached the mat file and the jpeg.

Answers (1)

Kevin Holly
Kevin Holly on 29 Nov 2021
  7 Comments
yanqi liu
yanqi liu on 30 Nov 2021
yes,sir,may be use moving matrix,such as
clc
clear
close all
load( 'undergraduate_data.mat' ); % 125-by-125-by-30
[optimizer, metric] = imregconfig('monomodal');
% Assuming first image is fixed
new = photoshift;
figure
for index = 2:1:size(photoshift, 3)
subplot(2,1,1)
imagesc(photoshift(:, :, index)); grid on; daspect( [1 1 1] );drawnow
% use now photoshift and last new
new(:,:,index) = imregister(photoshift(:, :, index),new(:,:,index-1),"affine",optimizer, metric);
subplot(2,1,2)
imagesc(new(:, :, index)); grid on; daspect( [1 1 1] );drawnow
pause(0.1)
end
average_new = mean(new,3);
figure; imshow(average_new,[]);

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by