1

Ich versuche, Kameramatrix von wesentlicher Matrix zu extrahieren. Ich habe dazu einige Antworten gefunden.Kameramatrix von wesentlicher Matrix

determine camera rotation and translation matrix from essential matrix

Rotation and Translation from Essential Matrix incorrect

In diesen Antworten, schlagen sie mich newE wo [U,S,V] = svd(E) und newE = U*diag(1,1,0)*Vt zu verwenden. Ich verstehe nicht, warum ich newE verwenden muss. Wie ich weiß, sind singuläre Werte einzigartig. Das Ändern von Singulärwerten auf diag(1,1,0) scheint also die Werte E zu völlig anderen Werten zu machen.

Ich lese 'Multiple View Geometrie in Computer Vision' auch, aber es bezieht sich nur auf den Idealfall, d. H. Singuläre Werte sind (1,1,0). Ich habe den Grund der Verwendung newE nicht gefunden.

Kann mir bitte jemand erklären, warum Leute newE benutzen?

Antwort

0

Wenn ich verstehe Ihre Frage richtig, dann, da Sie Quelldaten (und damit E) ist in der Regel laut Daten der realen Welt, dann durch diag(1,1,0) Verwenden Sie die Matrix beschränke der richtigen Umfang und Rang zu sein und die Durchsetzung algebraisch die geometrische Einschränkungen.

Wikipedia auch eine has a nice section dies zu erklären.

+0

Danke für Ihre Antwort. Auf diese Weise können Einschränkungen erfüllt werden, aber das Ergebnis scheint falsch zu werden. Ist das Ergebnis sehr zuverlässig? – Bahamut

Verwandte Themen