two_view op• Datenarten: image2d × image2d → matrix
• Aufruf: import fullseye as fs; fs.ledger.essential_8point(pts1, pts2, K1, K2=None) (die Implementierung direkt: import twoview; twoview.essential_8point(pts1, pts2, K1, K2=None); aus dem Register: ops3d.get("essential_8point"))
Die Essentialmatrix E direkt aus Korrespondenzen und K. → E (3,3).
Ablauf: F mit fundamental_8point(pts1, pts2) schätzen, E = K2ᵀ F K1 bilden und dann per SVD die Singulärwerte durch (1, 1, 0) ersetzen (Eigenschaft der Essential-Matrix; die Frobenius-Norm des Ergebnisses ist auf √2 fixiert).
• K1 (3,3) ist die intrinsische Matrix von Bild 1; wird K2 weggelassen, wird K1 für beide Bilder verwendet (Annahme: dieselbe Kamera).
• Korrespondenzen sind (N,2) in Pixelkoordinaten. Prüfung und Ausnahmen wie bei fundamental_8point (weniger als 8 Punkte, abweichende Punktzahlen, nicht endliche Werte oder Eingaben, die nicht (N,2) sind, ergeben ValueError).
• Das Vorzeichen von E ist unbestimmt, und (R, t) zerfällt in 4 Kandidaten. Die Zerlegung samt Eindeutigmachung per cheirality erledigt recover_pose in einem Schritt.
• Gegen Ausreißer schutzlos. Auch die Degeneration bei ebener Szene oder reiner Rotation erkennt dieser Op nicht (recover_pose erkennt sie). Deterministisch.
• depth_sensors — Tiefensensoren — Messprinzipien, Werte realer Geräte, wie Messlücken entstehen
• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).
• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.
• sfm_recon — py -3.11 examples_3d/sfm_recon.py
matrix als Eingabe)two_view)fundamental_8point · recover_pose · triangulate · sampson_distance
*Provenance: twoview.py — 3D Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.