Problem accessing the deformation map in image registration (using imregister, Matlab 2013a)
Ältere Kommentare anzeigen
Hi,
I need to estimate the deformation map of an image. I tried using imregister, which worked fine: the images are correctly registered using an affine transform, and I obtain an imref2d object along with it. The problem is that I cannot get the deformation map out of this imref2d object. Here is how I proceeded (from 32 x 32 images):
load data.m % loads the images 'moving' and 'fixed'
[optimizer,met] = imregconfig('multimodal')
optimizer.InitialRadius = 8e-4; % change required for convergence
[im,r_reg] = imregister(moving,fixed,'affine',optimizer,met);
x = 1:32;
y = 1:32;
[X,Y] = meshgrid(x,y);
[r,c] = intrinsicToWorld(r_reg,X(:),Y(:));
The coordinates [r,c] are exactly the same as [X(:),Y(:)] even though the images are very different (one is a circle, the other is a twisted ellipse). What am I doing wrong? Has anyone used these imref2d objects before?
LB
1 Kommentar
Simson Hutagalung
am 24 Jun. 2022
How to generate deformation colormap 2D in matlab with data from excel?
Antworten (2)
David Young
am 11 Dez. 2014
1 Stimme
I think from the documentation you need imregtform() rather than imregister() to get the transform itself rather than the result of applying it.
1 Kommentar
Sean de Wolski
am 11 Dez. 2014
Yes, you can then pass the transformation matrix into imwarp directly.
Lionel
am 12 Dez. 2014
0 Stimmen
1 Kommentar
Sean de Wolski
am 12 Dez. 2014
Please accept David's answer to mark the question complete!
Kategorien
Mehr zu Geometric Transformation and Image Registration finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!