Ich habe wirklich eine schwere Zeit, um dieses Ding zu erfassen, ich bin nur ein Anfänger in Python, und ich kann keine Erklärung für diesen Code finden.Python OpenCV Stereo Kalibrieren Objekt Punkte
# prepare object points, like (0,0,0), (1,0,0), (2,0,0) ....,(6,5,0)
objp = np.zeros((6*9,3), np.float32)
objp[:,:2] = np.mgrid[0:9,0:6].T.reshape(-1,2)
das Original ist, dass, 9 ist 7. I angenommen, dass 9 und 6 sind die inneren Ecken der Spalten und Zeilen des Schachbrettmuster jeweils. (so ist mein Schachbrett wirklich 10x7)
Jetzt weiß ich die Größe des Quadrats auf dem Schachbrett, was ich nicht herausfinden kann, ist, wo man es dort setzt.
Wie jeder Iteration für jedes Bild, fand der Code ich nur dies:
objpoints.append(objp)
Und ich kann sehen, es sich immer das gleiche Objekt immer wieder schieben.
Zwei Fragen: Wie macht objpoints.append(objp)
bei jeder Iteration einen Unterschied?
Wie kann ich im Code die Quadratgröße angeben? Wo soll ich es hinstellen?
Ich weiß, dass Objektpunkte sind die 3D-Punkte der einzelnen Quadrate im Schachbrett, deshalb bin ich sehr verwirrt es ist nicht einmal in jeder Iteration manipuliert.
Danke!
EDIT: Mein Code für stereocalib: http://pastebin.com/pw5n3pme
(Es ist nur eine modifizierte Version der einzelnen Kamerakalibrierung)
Sie sollten den gesamten Code verknüpfen, wenn Sie eine vollständige Antwort benötigen und verstehen, was es tut. Ich werde versuchen, trotzdem zu antworten. – marcoresk