Ich habe gelesen "lernen opencv" und ich weiß, dass mit der Q-Matrix können wir die Bildkoordinaten und die 3D-Koordinaten verbinden. Aber ich bin mir nicht sicher, was das "f" in der Q-Matrix bedeutet? In dem Buch ist "f" Brennweite. Aber in meinem Programm finde ich, dass f = 700.ID mein Programm falsch? Vielen Dank für Ihre Hilfe im Voraus.Q marix in stereoRectify
0
A
Antwort
0
Die Brennweite in der Fotografie wird in Meter Einheiten ausgedrückt, zum Beispiel 35 mm
oder 105 mm
.
In OpenCV, die Brennweite in Pixel/Meter-Einheiten ausgedrückt, um Koordinaten in Meter ausgedrückt zu konvertieren in Pixel Koordinaten, wie Sie es hier sehen: Camera Calibration and 3D Reconstruction.
Die Formel lautet:
x' = x/z
(x 'in Metern in dem normalisierten Kamerakoordinatenrahmen)
y' = y/z
(y' in Metern in dem normalisierten Kamerakoordinatenrahmen)
u = fx * x' + cx
((in Pixel im Bildrahmen)
v = fy * y' + cy
(v in Pixel im Bildrahmen)
Vielen Dank für Ihre Antwort. –