| Operatoren |
vector_to_fundamental_matrix — Bestimmung der Fundamental-Matrix unter Verwendung vorgegebener Punktkorrespondenzen sowie Rekonstruktion der 3D Raumpunkte.
vector_to_fundamental_matrix( : : Rows1, Cols1, Rows2, Cols2, CovRR1, CovRC1, CovCC1, CovRR2, CovRC2, CovCC2, Method : FMatrix, CovFMat, Error, X, Y, Z, W, CovXYZW)
vector_to_fundamental_matrix ermittelt aus im allgemeinen mindestens acht vorgegebenen Punktkorrespondenzen (Rows1,Cols1), (Rows2,Cols2) diejenige Fundamental-Matrix FMatrix, welche die Epipolargleichung
am besten erfüllt. Zu beachten ist hier die Position von Spalte bzw. Zeile in den Punktkoordinaten. Da die Fundamental-Matrix die projektive Beziehung zweier Stereobilder im 3D Raum wiedergibt, muss die X/Y Notation mit dem Kamera-Koordinaten-System konform sein. (X,Y) Koordinaten entsprechen daher einem (Column,Row) Paar.
Für eine beliebige relative Lage der Kameras zueinander ist die minimale Anzahl an Punktkorrespondenzen acht. Method ist dann gleich 'normalized_dlt' oder 'gold_standard' zu wählen. Sind linke und rechte Kamera identisch und ist zusätzlich die relative Lage zwischen den Kameras eine reine Translation, so ist Method gleich 'trans_normalized_dlt' oder 'trans_gold_standard' zu wählen. In diesem speziellen Fall ist die minimale Anzahl an korrespondierenden Punkte nur zwei.
Die Fundamental-Matrix wird so berechnet, dass ein Fehlermaß minimiert wird. Um dieses Ergebnis zu erreichen, sind verschiedene Algorithmen verfügbar. Welches Verfahren verwendet werden soll, kann ebenfalls mittels des Parameters Method gesteuert werden. Für Method gleich 'normalized_dlt' bzw. 'trans_normalized_dlt' wird ein lineares Verfahren verwendet, das einen algebraischen Fehler basierend auf obigen Epipolargleichungen minimiert. Dieses Verfahren bietet im allgemeinen einen guten Kompromiss zwischen Geschwindigkeit und Genauigkeit. Für Method gleich 'gold_standard' bzw. 'trans_gold_standard' wird eine mathematisch optimale, dafür aber langsamere, Optimierung durchgeführt, die den geometrischen Projektionsfehler von rekonstruierten projektiven 3D Punkten minimiert. In diesem Fall werden neben der Kovarianz-Matrix CovFMat der Fundamental-Matrix auch die projektiven Koordinaten (X,Y,Z,W) der rekonstruierten Punkte inklusive ihrer Kovarianzen CovXYZW zurückgegeben. Sei n die Anzahl der Punkte, dann werden die aneinandergehängten Kovarianzen in einem 16xn Tuple übergeben.
Die Größe Error ist ein Gütemaß für die Schätzung der Fundamental- Matrix und gibt den mittleren euklidischen Abstand in Pixeln zwischen den Punkten und ihren korrespondierenden Epipolarlinien an.
Falls die Methode 'gold_standard' bzw. 'trans_gold_standard' verwendet wird und die Punkte mit einem Operator wie points_foerstner, der die Kovarianzmatrix für jeden Punkt zurückliefert, extrahiert wurden, kann dies in der Berechnung berücksichtigt werden, indem die Kovarianzen in CovRR1, CovRC1, CovCC1 für die Punkte des ersten Bildes und in CovRR2, CovRC2, CovCC2 für die Punkte des zweiten Bildes übergeben werden. Die Kovarianzmatrizen sind symmetrische 2x2 Matrizen. CovRR1/CovRR2 und CovCC1/CovCC2 sind dabei die Diagonalelemente der Matrizen, während CovRC1/CovRC2 die beiden nicht diagonalen Elemente angeben. Sind die Kovarianzen unbekannt und wird die 'gold_standard' bzw. 'trans_gold_standard' Methode verwendet, so werden zur Berechnung intern Einheits-Kovarianzmatrixen angenommen. Falls 'normalized_dlt' bzw. 'trans_normalized_dlt' verwendet wird oder die Kovarianzen unbekannt sind, können in den Kovarianzparametern leere Tupel übergeben werden.
Sind die Korrespondenzen zwischen den Punkten noch nicht bekannt, so ist match_fundamental_matrix_ransac zur Bestimmung der Korrespondenzen sowie der Stereo-Geometrie zu verwenden.
Eingabepunkte in Bild 1 (Zeilenkoordinate).
Restriktion: length(Rows1) >= 8 || length(Rows1) >= 2
Eingabepunkte in Bild 1 (Spaltenkoordinate).
Restriktion: length(Cols1) == length(Rows1)
Eingabepunkte in Bild 2 (Zeilenkoordinate).
Restriktion: length(Rows2) == length(Rows1)
Eingabepunkte in Bild 2 (Spaltenkoordinate).
Restriktion: length(Cols2) == length(Rows1)
Varianz in Zeilenrichtung der Punkte in Bild 1.
Defaultwert: []
Kovarianz der Punkte in Bild 1.
Defaultwert: []
Varianz in Spaltenrichtung der Punkte in Bild 1.
Defaultwert: []
Varianz in Zeilenrichtung der Punkte in Bild 2.
Defaultwert: []
Kovarianz der Punkte in Bild 2.
Defaultwert: []
Varianz in Spaltenrichtung der Punkte in Bild 2.
Defaultwert: []
Schätzalgorithmus.
Defaultwert: 'normalized_dlt'
Werteliste: 'gold_standard', 'normalized_dlt', 'trans_gold_standard', 'trans_normalized_dlt'
Berechnete Fundamental-Matrix.
9x9 Kovarianzmatrix der Fundamental-Matrix.
Mittlerer, quadratischer Epipolar Abstand.
X-Koordinaten der rekonstruierten Punkte im projektiven Raum.
Y-Koordinaten der rekonstruierten Punkte im projektiven Raum.
Z-Koordinaten der rekonstruierten Punkte im projektiven Raum.
W-Koordinaten der rekonstruierten Punkte im projektiven Raum.
Kovarianzmatrizen der rekonstruierten 3D Punkte.
match_fundamental_matrix_ransac
gen_binocular_proj_rectification
vector_to_essential_matrix, vector_to_rel_pose
Richard Hartley, Andrew Zisserman: „Multiple View Geometry in
Computer Vision“; Cambridge University Press, Cambridge; 2000.
Olivier Faugeras, Quang-Tuan Luong: „The Geometry of Multiple
Images: The Laws That Govern the Formation of Multiple Images of a
Scene and Some of Their Applications“; MIT Press, Cambridge, MA;
2001.
3D Metrology
| Operatoren |