J'essaie d'extraire la matrice de la caméra de la matrice essentielle. J'ai trouvé quelques réponses à ce sujet.Matrice de la caméra à partir de la matrice essentielle
determine camera rotation and translation matrix from essential matrix
Rotation and Translation from Essential Matrix incorrect
Dans ces réponses, ils me suggèrent d'utiliser newE
où [U,S,V] = svd(E)
et newE = U*diag(1,1,0)*Vt
. Je ne comprends pas pourquoi j'ai besoin d'utiliser newE
. Comme je le sais, les valeurs singulières sont uniques. Donc changer les valeurs singulières en diag(1,1,0)
semble faire E
à des valeurs complètement différentes. Je lis aussi la géométrie à vues multiples dans Vision par ordinateur, mais elle se réfère simplement au cas idéal, c'est-à-dire que les valeurs singulières sont (1,1,0). Je n'ai pas trouvé la raison d'utiliser newE
.
S'il vous plaît quelqu'un peut-il m'expliquer pourquoi les gens utilisent newE
?
Merci pour votre réponse. De cette manière, les contraintes peuvent être satisfaites, mais le résultat semble devenir incorrect. Le résultat est-il assez fiable? – Bahamut