How to quantify the object shift between projection images using Matlab?
Afficher commentaires plus anciens
Hi, I am tasked with quantifying the shift between these 2D simulated images, by implementing an algorithm (e.g. cross-correlation or centre of mass) using matlab. I have attached the data and script for the images. Any help would be appreciated.


1 commentaire
Yanique
le 10 Août 2023
Réponses (1)
Image Analyst
le 12 Août 2023
0 votes
Or try normalized cross correlation. See attached demo.
4 commentaires
Yanique
le 12 Août 2023
Image Analyst
le 13 Août 2023
Now that I can see your images, why don't you just threshold and find the centroid of the blob? Do this for each image and see how the centroid shifted. Something like
mask1 = grayImage1 > someThresholdValue;
% Take largest blob only.
mask1 = bwareafilt(mask1, 1);
props1 = regionprop(mask1, 'Centroid');
xy1 = props1.Centroid
% Now for image 2
mask2 = grayImage2 > someThresholdValue;
% Take largest blob only.
mask2 = bwareafilt(mask2, 1);
props2 = regionprop(mask2, 'Centroid');
xy2 = props2.Centroid
% Now compute delta x and y
deltax = xy1(1) - xy2(1)
deltay = xy1(2) - xy2(2)
It's a generic, general purpose demo of how to threshold an image to find blobs, and then measure things about the blobs, and extract certain blobs based on their areas or diameters.
Catégories
En savoir plus sur Image Processing Toolbox dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!