Find out new coordinates of a point in an image transformed by a polynomial geotransform?

3 views (last 30 days)
I've been using fitgeotransform and imwarp to transform an image, but I'd like to see where a specific reference coordinate (in the original image) maps to in the transformed image. I think "transformPointsForward()" does this for affine transforms - is there something similar that will work for a polynomial or pwl transform?

Accepted Answer

Alex Taylor
Alex Taylor on 15 May 2015
These transforms are not invertable, so they only implement transformPointsInverse. You can use this method to determine where an output pixel maps to the corresponding input pixel, but not the other way around.
  3 Comments
Alex Taylor
Alex Taylor on 19 May 2015
Edited: Alex Taylor on 19 May 2015
I would recommend reading Steve Eddins's blog series on geometric transformations, particularly the sections on Forward Mapping vs. Inverse Mapping:
Short version:
1) IMWARP, and almost all software implementations of geometric transformations of image grids, use(s) inverse mapping. So, for non-invertable transformations, the minimum requirement for IMWARP is for a given geometric transformation to implement the inverse transformation that maps from the output image grid to the input image grid.
2) Maybe we are having a problem of terminology. The geometric transformation method names transformPointsForward and transformPointsInverse do not mean that the "guaranteed" or defining transformation is the forward one and that the transformPointsInverse is simply the inverse of that for invertable cases.
transformPointsInverse could also be thought of as "transformPointsOutputSpaceToInputSpace" and transformPointsForward could be thought of as "transformPointsInputSpaceToOutputSpace". Because IMWARP is actually implemented to map from the output to the input space and then interpolate in the input space to form the transformed image, we require that the "Inverse Mapping" is defined. The "Forward mapping" need not be defined, we only use this when it is available to automatically determine the bounds of the transformed image.

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!