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

3 visualizzazioni (ultimi 30 giorni)
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?

Risposta accettata

Alex Taylor
Alex Taylor il 15 Mag 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 Commenti
Alex Taylor
Alex Taylor il 19 Mag 2015
Modificato: Alex Taylor il 19 Mag 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.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by