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?

 Réponse acceptée

Matt J
Matt J le 20 Jan 2016
Modifié(e) : Matt J le 20 Jan 2016
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 commentaires

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?
Matt J
Matt J le 21 Jan 2016
Modifié(e) : Matt J le 22 Jan 2016
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?

Connectez-vous pour commenter.

Plus de réponses (1)

Matt J
Matt J le 20 Jan 2016

0 votes

Why not use fitgeotrans, like you were advised here?

1 commentaire

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

Connectez-vous pour commenter.

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by