Ich benutze VisualSfM, um die 3D-Rekonstruktion einer Szene zu erstellen. Jetzt möchte ich die Tiefenkarte schätzen und das Bild neu projizieren. Irgendeine Idee, wie es geht?Computing Tiefenkarte von 3D-Rekonstruktionsmodell
-1
A
Antwort
0
Wenn Sie die Kamera intrinsische Matrix K
haben, ihre Position Vektor in der Welt C
und eine Orientierungsmatrix R
, die Kameraraum von Welt-Raum dreht, können Sie alle Pixel x,y
in Ihrem Bild iterieren und ausführen:
Dann finden Raytracing verwenden, die minimalen t
, die den Strahl mit Ihrem 3D-Modell schneiden verursacht (es ist dicht unter der Annahme, es anders zu interpolieren), so dass P
nach Modell liegt. Der Wert t
, den Sie gefunden haben, ist dann der Pixelwert der Tiefenkarte (möglicherweise auf einen bestimmten Bereich normiert).
Danke für Ihre Antwort. Mein Problem ist, dass ich K und R nicht habe. Aber ich denke, dass ich eine Schätzung von C bekommen kann. Mein Ziel ist es, eine Reihe von Bildern aus derselben Szene zu verschiedenen Zeiten auszurichten. SIFT hat nicht meine Erwartungen erfüllt, also habe ich in einem Artikel gelesen, dass ich die Struktur aus Bewegung verwenden kann, um Bilder auszurichten. – Hercules
Es ist nicht klar, was Sie meinen, indem Sie Bilder ausrichten. – Photon
Hier bedeutet es, wenn Sie die Bilder übereinander legen, ändert sich die Geometriestruktur der Szene nicht. – Hercules