- 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
조회 수: 6 (최근 30일)
이전 댓글 표시
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
답변 (1개)
Manish
2024년 10월 25일
편집: Manish
2024년 10월 25일
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
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!