Find out new coordinates of a point in an image transformed by a polynomial geotransform?
5 ビュー (過去 30 日間)
古いコメントを表示
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?
0 件のコメント
採用された回答
Alex Taylor
2015 年 5 月 15 日
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 件のコメント
Alex Taylor
2015 年 5 月 19 日
編集済み: Alex Taylor
2015 年 5 月 19 日
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.
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!