| Operatoren |
reconstruct_points_stereo — 3D-Punktrekonstruktion mit kalibriertem Mehrbild-Stereoaufbau.
reconstruct_points_stereo( : : StereoModelID, Row, Column, CovIP, CameraIdx, PointIdx : X, Y, Z, CovWP, PointIdxOut)
Der Operator reconstruct_points_stereo rekonstruiert 3D-Punkte von Punktkorrespondenzen, die in einem vom kalibrierten Kamerasetup aufgenommenen Bildarray extrahiert worden sind. Das kalibrierte Kamerasetup wird an das Stereomodell StereoModelID während seines Erstellens angehängt (siehe create_stereo_model). Es ist zu beachten, dass das Stereomodell mit dem Typ 'points_3d' erstellt werden muss, ansonsten gibt der Operator reconstruct_points_stereo einen Fehler zurück.
Die Punktkorrespondenzen werden in den Parametern Row, Column, CameraIdx, and PointIdx in der Form vier gleich langer Tupel übergeben. Jede Menge (Row[I],Column[I],CameraIdx[I],PointIdx[I]) entspricht den Bildkoordinaten (Row, Column) eines 3D-Punktes (PointIdx) im Bild einer Kamera (CameraIdx).
Die rekonstruierten 3D-Punktkoordinaten werden in den drei gleich langen Ausgabetupeln X, Y, and Z zurückgegeben. Die Koordinaten sind im Koordinatensystems des am Stereomodell angehängten Kamerasetups definiert (siehe create_camera_setup_model). Das Tupel PointIdxOut enthält die entsprechenden Punktindizes.
Der Rekonstruktionsalgorithmus funktioniert wie folgt: Erst werden die Punktkorrespondenzen eines 3D-Punkts gesucht, indem alle Eingabemengen mit demselben PointIdx aufgesammelt werden. Danach werden die Informationen Row, Column, und CameraIdx von den angesammelten Mengen benutzt, um Sichtlinien von der jeweiligen Kamera durch den entsprechenden Bildpunkt [Row,Column] zu projizieren. Wenn 2 oder mehr Sichtlinien für einen Punkt PointIdx gefunden werden, werden diese alle in der Welt geschnitten und der Schnittpunkt als Ausgabemenge (X[J],Y[J],Z[J],PointIdxOut[J]) gespeichert. Der Schnittpunkt wird durch die Methode der kleinsten Quadrate berechnet, ohne potenzielle falsche Sichtlinien zu suchen und sie zu unterdrücken (z.B. wenn ein Bildpunkt fälschlicherweise einem 3D-Punkt zugeordnet wird).
Zur Berechnung der Kovarianzmatrizen der rekonstruierten 3D-Punkte müssen statistische Informationen über die extrahierten Bildkoordinaten (d.h. Kovarianzmatrizen der Bildpunkte; siehe z.B. points_foerstner) verfügbar sein und in dem Parameter CovIP übergeben werden. Falls jedoch keine Kovarianzmatrizen für die rekonstruierten 3D-Punkte benötigt werden oder keine Kovarianzmatrizen für die Bildpunkte verfügbar sind, kann ein leeres Tupel an CovIP übergeben werden. Somit wird dann keine Kovarianzmatrix für die 3D Punkte berechnet.
Die Kovarianzmatrix eines Bildpunktes ist:
Die Kovarianzmatrizen sind symmetrische 2x2 Matrizen, bei denen die Einträge der Hauptdiagonalen die Varianz der Bildpunkte in Zeilenrichtung bzw. Spaltenrichtung repräsentieren. Für jeden Bildpunkt muss im Parameter CovIP eine Kovarianzmatrix in Form eines Tupels mit 4 Elementen übergeben werden:
Somit ist |CovIP|=4*|Row| und CovIP[I*4:I*4+3] sind die 4 Kovarianzmatrixwerte des I. Bildpunktes.
Die berechnete Kovarianzmatrix für einen erfolgreich rekonstruierten 3D-Punkt ist durch eine symmetrische 3x3 Matrix definiert:
Die Einträge der Hauptdiagonalen repräsentieren die Varianzen der rekonstruierten 3D-Punkte in Richtung der x-, y- und z-Achse. Die berechneten Matrizen werden im Parameter CovWP in Form von Tupeln, bestehend aus 9 Elementen, zurückgegeben:
Somit ist |CovWP|=9*|X| und CovWP[J*9:J*9+8] sind die 9 Kovarianzmatrixwerte des J. 3D-Punktes. Es ist zu beachten, dass, wenn der an dem Stereomodell angehängte Kamerasetup Kovarianzmatrizen für die internen Kameraparameter enthält, diese in der Berechnung der CovWP auch miteinbezogen werden.
Wenn im Stereomodell ein gültiger kleinster umschließender Quader definiert ist (siehe set_stereo_model_param), werden Ausgabe-3D-Punkte außerhalb des Quaders ausgeschnitten. Ist der Quader ungültig, wird er nicht berücksichtigt und alle Punkten zurückgegeben, die gefunden werden könnten.
Handle des Stereomodells.
Zeilenkoordinaten der extrahierten Bildmerkmale.
Spaltenkoordinaten der extrahierten Bildmerkmale.
Kovarianzmatrizen der extrahierten Bildmerkmale.
Defaultwert: []
Kameraindizes der Kameras, in welchen die Bildmerkmale extrahiert worden sind.
Wertevorschläge: 0, 1, 2
Zuordnung der extrahierten Bildmerkmale zu den beobachteten 3D-Punkten.
Wertevorschläge: 0, 1, 2
X-Koordinaten der rekonstruierten 3D-Punkte.
Y-Koordinaten der rekonstruierten 3D-Punkte.
Z-Koordinaten der rekonstruierten 3D-Punkte.
Kovarianzmatrizen der rekonstruierten 3D-Punkte.
Indizes der rekonstruierten 3D-Punkte.
reconstruct_surface_stereo, intersect_lines_of_sight
3D Metrology
| Operatoren |