Registering high resolution image with blurry image

15 views (last 30 days)
Hi,
I'm looking for a method to register two images of different sizes and resolution (measured by two different devices). I've tried using the registration estimator toolbox but none of the registration options align/resize the images correctly. I've also tried to blur my high resolution image to match the low resolution of the second but even that does not help for the registration. Ideally, the registration of image '1' (attached) and imaged 'ref' should result in image 'aligned'.
Ideas anyone?
Cheers.

Answers (1)

Steve Eddins
Steve Eddins about 1 hour ago
As of R2024b, the function imregcorr uses a new algorithm called normalized gradient correlation. See my 16-Oct-2025 blog post for more information. That function can now register these two images successfully.
moving = imread("Smp180_VIS_1.png");
fixed = imread("Smp180_VIS_ref.png");
imshowpair(fixed, moving, "montage")
tform = imregcorr(moving, fixed)
tform =
simtform2d with properties: Dimensionality: 2 Scale: 0.3675 RotationAngle: 8.4500 Translation: [87.4448 63.7681] R: [2×2 double] A: [0.3635 -0.0540 87.4448 0.0540 0.3635 63.7681 0 0 1.0000]
[moving_reg, moving_reg_ref] = imwarp(moving, imref2d(size(moving)), tform);
imshowpair(moving_reg, moving_reg_ref, fixed, imref2d(size(fixed)))

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!