How to use maketform to get affine transform?
조회 수: 8 (최근 30일)
이전 댓글 표시
I'm unsure from the documentation how to use maketform.
I'm taking two points each from two images and using them to make a similarity matrix A which I then pass into maketform to get an affine transform:
maketform('affine', inv(A)');
What is A supposed to be and what format is it meant to be in? If I pass in a 2x2 matrix I get an error:
Error using maketform>validate_matrix (line 320)
The final column of A must consist of zeroes, except for a one in the last row.
댓글 수: 0
답변 (2개)
Dishant Arora
2014년 3월 14일
A is transformation matrix that is used for scaling, rotating and other spatial transformations. See this blog Spatial transformations: Affine
Alex Taylor
2014년 3월 14일
1) Why not just use fitgeotrans to construct your transformation from a set of matched control points?
2) What is inv(A)' ?
Unlike many books, MATLAB uses the convention that an affine transformation is of the form:
T = [A11 A12 0;...
A21 A22 0;...
Tx Ty 1];
Are you possibly using a transposed definition?
3) maketform is not the recommended way of doing this anymore. Try using affine2d/affine3d and imwarp instead of maketform and imtransform.
댓글 수: 0
참고 항목
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!