Richtige Art und Weise zu extrahieren, die Übersetzung aus der Essentiellen Matrix durch SVD

Ich kalibrierte meine Kamera gefunden und die intrinsischen Parameter(K). Auch ich habe berechnet, die Grundlegende Matrix (F).

Nun E= K_T* F * K . So weit So gut.

Nun passieren wir die Essential-Matrix(E) der SVD zu verwenden, die Zersetzung Werte (U,W,V) zum extrahieren der Rotation und Translation:

 essentialMatrix = K.Transpose().Mul(fund).Mul(K);
 CvInvoke.cvSVD(essentialMatrix, wMatrix, uMatrix, vMatrix, Emgu.CV.CvEnum.SVD_TYPE.CV_SVD_DEFAULT);

** Frage) An dieser Stelle werden zwei Methoden vorgeschlagen worden, und es verwirrt mich das man wirklich die richtige Antwort - speziell für die Übersetzung:

Bei der ersten Methode geben Sie den link-Beschreibung hier der Autor schlägt vor, die Berechnung der R -, T -, wie folgend:

Richtige Art und Weise zu extrahieren, die Übersetzung aus der Essentiellen Matrix durch SVD

Aber in der Zweiten Methode [http://isit.u-clermont1.fr/~ab/Classes/DIKU-3DCV2/Handouts/Lecture16.pdf] der Autor bietet eine andere Formel für T, die +U , -U, wie unten gezeigt:

Richtige Art und Weise zu extrahieren, die Übersetzung aus der Essentiellen Matrix durch SVD

Ich bin Umsetzung dieses auf C# .Net mit openCv-Bibliotheken. Niemand weiß, welche Übersetzung der Formel ist die richtige?

InformationsquelleAutor farzin parsa | 2013-04-11
Schreibe einen Kommentar