Estimating constrained transformation matrix

Hi, I have:
B=A*T+error
I would like a fast estimation of transformation matrix that minimize the error where:
B and A two set of 2d points:
A=[Xi Yi 1] , B=[Xi' Yi']
and
T=|Sx*cos(r) -Sy*sin(r)|
|Sx*sin(r) Sy*cos(r) |
|tx ty |
where:
-pi/4<r<pi/4 1<Sx,Sy<10 -1000<tx,ty<1000
Thanks :)

Réponses (2)

Torsten
Torsten le 13 Nov 2015

0 votes

help lsqcurvefit
Best wishes
Torsten.
Ben Xinlou
Ben Xinlou le 17 Nov 2015
Thanks for responses, and sorry for my bad English!!, Yes I have already tested "optimtool" functions on Matlab (may be applied on any non linear function), however, the results are mostly local optimum. I was hopping for more specific solution to the problem with numericals approaches, here I have downed the problem as, above there is a little mistake (between sx and sy):
[Xi Yi] and [Xi' Yi'] are sets of centred 2d point, so we do not bother with translation (tx, ty)
[Xi' Yi'] = [Xi Yi] * |Sx 0| * | cos(r) -sin(r)| = [Xi Yi] * Sc * Rot
|0 Sy| | sin(r) cos(r)|
The result may be threshold after, to satisfy constrains on r, sx and sy.
Rot matrix is orthonormal, and "pinv" is pseudo inverse matrix
Sc*Rot=pinv([Xi Yi])*[Xi' Yi']
use of SVD decomposition:
Sc*Rot=V*S*D , where V and D are orthonormal matrix:
Here we can assume : Rot=D and Sc=V*S, however Sc is diagonal matrix,
Then, is there any approximation that may estimate Sc (diagonal matrix) to minimize error between [Xi' Yi'] and transformed [Xi Yi].
Thanks :)

Catégories

En savoir plus sur Linear Algebra dans Centre d'aide et File Exchange

Tags

Aucun tag saisi pour le moment.

Community Treasure Hunt

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

Start Hunting!

Translated by