transformPointsForward does not support Polynomial​Transforma​tion2D

10 ビュー (過去 30 日間)
Juan de Jesus
Juan de Jesus 2025 年 1 月 30 日
コメント済み: Matt J 2025 年 1 月 31 日
I would like to know why transformPointsForward does not support PolynomialTransformation2D as a transformation object. It is weird because transformPointsInverse does support PolynomialTransformation2D.
So the workaround is simple, instead of using:
tform = fitgeotform2d(movingPoints,fixedPoints,"polynomial",degree)
[x,y] = transformPointsForward(tform,u,v)
I used:
tform = fitgeotform2d(fixedPoints,movingPoints,"polynomial",degree)
[x,y] = transformPointsInverse(tform,u,v)
But it is still counterintuitive and increases the risk of making mistakes later in the code.
Please let me know if there is something I am overlooking or if this is really a missing functionality of the transformPointsForward function.
This is the error I am getting when using transformPointsForward:
Incorrect number or types of inputs or outputs for function transformPointsForward.

採用された回答

Matt J
Matt J 2025 年 1 月 30 日
編集済み: Matt J 2025 年 1 月 30 日
Polynomial tforms are generally not invertible, so you can only define them in one direction. I assume fitgeotform2d always fits the inverse transform because it is the inverse, not the forward transform that is need to perform a forward imwarp() from the moving space to the fixed space.
  2 件のコメント
Juan de Jesus
Juan de Jesus 2025 年 1 月 31 日
Now that I think about it, it makes sense. That is the expected behavior from the polynomial fit. Thank you very much.
Matt J
Matt J 2025 年 1 月 31 日
You're welcome, but please Accept-click the answer if you consider your question resolved.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeGeometric Transformation and Image Registration についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by