Bonjour,
Le problème qui va suivre est sensé servir dans une application de reconnaissance par caméra : 4 point de repère dont la position est connue (ils définissent le repère monde pour la caméra) sont captés par une caméra. Celle-ci doit à l'aide de ces seuls paramètres, déterminer sa position et son orientation dans l'espace considéré.
Pour cela, j'utilse comme notation R(0,X,Y,Z) le repère monde et Rc(Oc,x,y,z), le repère de la caméra définit ainsi :0c, le centre optique de la caméra ; x,y dans le plan de la caméra et z la droite reliant le point focal de la caméra (F) au centre optique. [x,y, pris pour faire un repère direct].
Un point M perçu par cette caméra est donc sur le capteur donc en (mx,my,f) dans le repère caméra [avec f=||OF||, la focale].
Chaque point (N) perçu (M) vérifie : FN=a*FM (en vecteur)
La caméra étant dans une position quelconque, on peut écrire : (point)/R= (Matrice de Rotation(Tx,Ty,Tz) par rapport au point 0)*((point)/Rc-(F)/R)
[si je me trompe, merci de me le préciser]
L'objectif pour la caméra (enfin le programme ) est de déterminé F/R et la matrice de Rotation(Tx,Ty,Tz).
J'ai tout d'abord essayé de résoudre ça avec matlab mais à cause de l'erreur de mesure de la caméra, il n'y a pas de solution. J'ai ensuite pensé utilisé la méthode de Newton-Raphson mais je ne suis pas sûr que cela pourrait résoudre mon problème.
Avez-vous une solution à me proposer?
Merci d'avance.
-----