Need to generate tform matrix from triangle parameters.

If a user draws a triangle with parameters b, h and theta and wants to change an entire image via a transformation from a new triangle with user inputed parameters b', h', theta'. How can the transformation matrix be found?

 Accepted Answer

The corners of each triangle are separated by vectors dy and dx. There is some 2x2 matrix A which transforms them from triangle 1 to triangle 2,
dy2=A*dy1
dx2=A*dx1
These are linear equations in the unknown A, which you can solve.

5 Comments

Does this transformation also include a change in angle?
yes, the angle between dy2,dx2 can be different from dy1,dx1, as long as both are significantly non-zero.
And can this matrix then be applied to the rest of the image?
would it be possible to use your absor function for this vary problem?
Only if theta doesn't transform. Otherwise, the transformation is not a pure rotation.
Matt J I have since managed to solve for the matrix A how can then use this matrix to generate a matrix for an image?

Sign in to comment.

More Answers (1)

Why not use fitgeotrans, like you were advised here?

1 Comment

I don't have the version of matlabwith fitgeotrans. I need to find someway without using two images.

Sign in to comment.

Asked:

on 19 Jan 2016

Commented:

on 29 Jan 2016

Community Treasure Hunt

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

Start Hunting!