Transformation matrix (projective2d) change of origin at application

4 ビュー (過去 30 日間)
Katharina Heitger
Katharina Heitger 2021 年 11 月 29 日
コメント済み: Matt J 2021 年 12 月 5 日
I have a transformation matrix (as a projective2d object) created with fitgeotrans(), which should be used as an image correction, and a simulated image, which I want to use for validation of this transformation matrix.
The points used as input for fitgeotrans() are calculated before based on some measurements, which works fine.
I apply the transformation matrix via the imwarp() function onto the simulated image. But now it seems that the correction is applied with the origin at the wrong point.
How can I change that, if the points used as input for the fitgeotrans() are assumed to be correct? And I do not think that the transformation matrix changes if I change the input order of the points in fitgeotrans(). (As long as the fixedpoints and their corresponding movingpoints are at the same position.)
Edit (30.11.2021): After some additional research, I have the suspicion, that i should maybe ask the question differently: How can I apply the transformation matrix so that the origin on the matrix is in the center before and after correction?
Any help is appreciated.
  1 件のコメント
Katharina Heitger
Katharina Heitger 2021 年 11 月 30 日
I think what I will try, is to calculate the translation, where the origin is now vs where the origin should be. Then translate the input points of fitgeotrans() and then calculate the transformation matrix.

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

回答 (1 件)

Matt J
Matt J 2021 年 11 月 30 日
編集済み: Matt J 2021 年 11 月 30 日
You should use imwarp's OutputView option to specify a coordinate system for the output with the origin in the center.
  8 件のコメント
Matt J
Matt J 2021 年 12 月 5 日
But this comment or question was too long
Why?

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

Community Treasure Hunt

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

Start Hunting!

Translated by