region op• Datenarten: region → image
• Aufruf: fullseye.apply(img, "dist_transform_abs", a=0.5, b=0.5) (das 2-D-Modell ist ein Bild plus zwei skalare Regler a,b∈[0,1])
• HALCON-Äquivalent: distance_transform (Bedeutung und Parameter sind in der HALCON-Referenz nachzulesen)
• GPU: nein (nur CPU-Referenzimplementierung)

*Die Abbildung ist die tatsächliche Ausgabe auf einer synthetischen 128×128-Eingabe. Links Eingabe, rechts Ausgabe. Punktwolken als Draufsicht-Streudiagramm (Helligkeit = z), 1-D-Reihen als Linie, Volumen als Maximum-Projektion entlang z, Videos als mittleres Bild, komplexe Bilder als Betrag; Rückgabewerte, die kein Bild ergeben, werden als Werte gezeigt.*
*Die Ausgabe ist in einer viridis-artigen Falschfarbe dargestellt (dunkles Violett = klein, Gelb = groß), damit ein Feld von Größen — Abstand, Phase, Orientierung, Tiefe — lesbar ist.*
Regler a durchfahren (0,1 / 0,5 / 0,9, der andere Regler auf Standard):
▸ dist_transform_abs: Regler a durchfahren (Doku-Website)
Regler b durchfahren (0,1 / 0,5 / 0,9, der andere Regler auf Standard):
▸ dist_transform_abs: Regler b durchfahren (Doku-Website)
Stufen (die vorangehenden Ops → dieser Op, von links nach rechts):
▸ dist_transform_abs: Stufen (Doku-Website)
Auf anderen Bildern (synthetische Szene / Foto / Münzen. Obere Reihe: Eingaben, untere Reihe: deren Ausgaben. Regler auf Standard):
▸ dist_transform_abs: andere Eingaben (Doku-Website)
Distanztransformation in absoluten Pixelabständen ohne Normierung. Entspricht HALCONs distance_transform (Compute the distance transformation of a region.).
a wählt die Distanzart: a < 1/3 euklidisch, 1/3 <= a < 2/3 City-Block (L1), sonst Schachbrett (L∞). b < 0.5 liefert für jedes Vordergrundpixel den Abstand zum nächsten Hintergrundpixel, b >= 0.5 für jedes Hintergrundpixel den Abstand zum nächsten Vordergrundpixel. Die Ausgabe ist ein float64-Bild und wird, anders als bei dist_transform, nicht auf das Bildmaximum normiert (die Mitten eines von Hintergrund umgebenen 3×3- und 9×9-Quadrats sind 2 bzw. 5). Beispiel: _dist_transform_abs(np.pad(np.ones((3, 3)), 1), 0, 0)[2, 2] ergibt 2.0.
★Bis 2026-11-05 (adversariale Prüfung, Runde 2, P4b) lautete dieses Beispiel np.ones((3, 3)) (ohne Hintergrund), und der tatsächliche Wert war nicht 2.0, sondern 2.236 (die entartete Eingabe unten).
Wenn das Ziel, zu dem der Abstand gemessen wird, nicht im Bild liegt (b < 0.5 ohne ein einziges Hintergrundpixel, b >= 0.5 ohne Vordergrund), ist der Abstand nicht definiert (unendlich). Dann wird eine gleichförmige 0 ("kein Abstandsfeld") zurückgegeben -- eine leere Region ist eine legitime Eingabe (der ganzflächige Hintergrund bei b >= 0.5 ebenso wie der ganzflächige Vordergrund bei b < 0.5), daher keine Ausnahme. Die 0 nicht als Abstand lesen:
Ob das Ziel existiert, auf der Eingabeseite mit region.any() / (~region).any() prüfen. Das Ergebnis ist in beiden Richtungen gleichförmig und kommutiert daher mit Spiegeln und Drehen des Bildes. Bis 2026-11-05 (adversariale Prüfung, Runde 2, P4) lieferte distance_transform_edt eine Rampe (1 bis 3.6 auf 3×3), als läge das Ziel bei (-1, 0) außerhalb des Bildes, und cdt eine gleichförmige -1.
Der HALCON-Referenzoperator liefert int4-Näherungen. Dieser Op liefert exakte float64-Abstände und ist keine Kompatibilitäts-API.
Löst aus:
FsValueError: Das Bild enthält NaN / inf.
• Leitfaden zur Familie gallery2d_region
• 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.
• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.
Das Programm unten ist nachweislich lauffähig (gleiche Eingabe wie die Abbildung). In der Studio-Hilfe wird dieser Block zu Schaltflächen, die es sofort laden und ausführen.
threshold 0.50 0.50 dist_transform_abs 0.50 0.50
▸ Diese Pipeline laden · Laden & ausführen
• gallery2d_region — py -3.11 examples/gallery2d_region.py
image als Eingabe)identity · gaussian · mean_box · mean_box_wh · bilateral · kuwahara · unsharp · median
region)reg_erode · reg_dilate · reg_open · reg_close · fill_holes · select_largest · remove_small · invert_region
*Provenance: ops.py — 2D 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.