Translation info from imregtform?

3 views (last 30 days)
Claire on 20 Feb 2014
Commented: Claire on 21 Feb 2014
I am trying to register two images using a rigid transformation. When I use imregister and then imshowpair, the moving image is properly rotated and translated. It appears be restricted to the same dimensions as the fixed image to achieve the appropriate translation.
When I use imregtform to obtain the transformation matrix and then apply the transformation to the moving image using imwarp(moving, tform), the warped image is appropriately rotated. However,the warped image hasn't been restricted to the same size as the fixed image, so the warped and fixed images appear misaligned in XY (as if the warped image hasn't been translated).
Is there a way to recover this translation information from imregtform and appropriately crop or pad the warped image so that it is the same size as the fixed image? I ultimately want to apply the same transformation to a lot of images and have them be the same size.
I have tried preemptively padding the fixed image so that it will always be larger than the warped image; this did not solve the issue.
  1 Comment
Anand on 20 Feb 2014
Pictures (and code) speak a thousand words...

Sign in to comment.

Accepted Answer

Alex Taylor
Alex Taylor on 21 Feb 2014
What you want is to use the 'OutputView' Name-value pair of imwarp with a value equal to the spatial referencing of the fixed image.
Take a look at the examples in the documentation for imregtform.
  1 Comment
Claire on 21 Feb 2014
Thanks! This worked perfectly.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by