plane_sweep_stereo op• Datenarten: image2d × image2d → depth
• Aufruf: import fullseye as fs; fs.ledger.plane_sweep_depth(img_ref: 'np.ndarray', img_src: 'np.ndarray', K: 'np.ndarray', R: 'np.ndarray', t: 'np.ndarray', depth_candidates, window: 'int' = 1, normal=(0.0, 0.0, 1.0)) -> 'np.ndarray' (die Implementierung direkt: import plane_sweep; plane_sweep.plane_sweep_depth(img_ref: 'np.ndarray', img_src: 'np.ndarray', K: 'np.ndarray', R: 'np.ndarray', t: 'np.ndarray', depth_candidates, window: 'int' = 1, normal=(0.0, 0.0, 1.0)) -> 'np.ndarray'; aus dem Register: ops3d.get("plane_sweep_depth"))
Schätzt eine dichte Tiefenkarte per Plane-Sweep-Stereo. → (H,W) Tiefe.
Warpt src für jede Tiefenebene auf ref und wählt pro Pixel die Kandidatentiefe mit minimaler photo-consistency (winner-take-all). Pixel, die für alle Kandidaten außerhalb des Sichtfelds liegen, sind NaN. fail-closed (leer / nicht 2D / shape ungleich / nicht positive Tiefe).
• img_ref / img_src: Graustufen-float (H,W) gleicher Form. Die Referenzkamera ist [I|0], die source ist P_src = K [R|t] (X_src = R X_ref + t).
• K: gemeinsame (3,3)-Intrinsikmatrix (bei Singularität ValueError).
• depth_candidates: Folge positiver endlicher Tiefen (D Stück) in Referenzkamera-Koordinaten. Die zurückgegebene Tiefe ist immer eine davon; der Quantisierungsfehler liegt etwa beim Kandidatenabstand. Üblich ist, die Kandidaten im Nahbereich fein (gleichabständig in inverser Tiefe) zu wählen.
• window: Box-Aggregationsgröße der Kosten (Standard 1 = absolute Differenz pro Pixel). Ab 2 wird es die SAD im Fenster, normiert auf die Zahl gültiger Pixel, was in texturarmen Bereichen stabil ist, Stufen aber verwischt. Unter 1 ergibt ValueError.
• normal: Normale der Sweep-Ebene (Standard (0,0,1) = frontoparallel).
Rückgabewert ist (H,W) float. Pixel, die für alle Kandidaten außerhalb des Sichtfelds von src landen (Kosten ∞), sind NaN. In Bereichen konstanter Leuchtdichte sind die Kosten aller Kandidaten gleich und argmin liefert den ersten Kandidaten, sodass Tiefen ohne Verlässlichkeit beigemischt werden. Wird das Kostenvolumen (D,H,W) selbst benötigt, cost_volume aus demselben Modul verwenden. Die erhaltene Tiefe lässt sich mit depth_to_points in eine Punktwolke umwandeln.
• 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.
• plane_sweep_depth — py -3.11 examples_3d/plane_sweep_depth.py
depth als Eingabe)depth_to_points · tsdf_from_depth · to_points · fuse_to_voxel · depth_to_organized_points · normals_from_depth · occlusion_edges · bearing_angle_image
plane_sweep_stereo)*Provenance: plane_sweep.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.