- Process the Images: Start by reading your images that you want to process.
- Align Usingnormxcorr2: Use the‘normxcorr2’function to perform normalized cross-correlation on the images.
- Locate the peak value and calculate the offset based on the position of the peak.
how to calculate image pixels shift
10 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
hello,
i have two similar images, but one has a pixels shift compare to the other. how can i calculate the the offset (amount of pixels) for axis x and y?
0 commentaires
Réponses (1)
Manish
le 25 Oct 2024
Modifié(e) : Manish
le 25 Oct 2024
Hi,
I see that you want to calculate pixel offset between two similar images.
You can achieve this by following the below steps:
Here is the sample code of above steps:
image1 = imread('img1.png');
image2 = imread('img2.png');
crossCorrMatrix = normxcorr2(image2, image1);
[maxCorr, maxIndex] = max(abs(crossCorrMatrix(:)));
[yPeak, xPeak] = ind2sub(size(crossCorrMatrix), maxIndex);
yOffset = yPeak - size(image2, 1);
xOffset = xPeak - size(image2, 2);
fprintf('Offset in X: %d pixels\n', xOffset);
fprintf('Offset in Y: %d pixels\n', yOffset);
Refer to the documentation link below for more information on the‘normxcorr2’function:
Hope it helps!
0 commentaires
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!