xldgeom op• Datenarten: contour → contour
• Aufruf: fullseye.apply(img, "xg_gen_polygons", a=0.5, b=0.5) (das 2-D-Modell ist ein Bild plus zwei skalare Regler a,b∈[0,1])
• HALCON-Äquivalent: gen_polygons_xld (Bedeutung und Parameter sind in der HALCON-Referenz nachzulesen)

*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.*
Regler a durchfahren (0,1 / 0,5 / 0,9, der andere Regler auf Standard):
▸ xg_gen_polygons: Regler a durchfahren (Doku-Website)
*Regler b ändert die Ausgabe nicht (gemessen: identisch bei 0,1 / 0,5 / 0,9).*
Stufen (die vorangehenden Ops → dieser Op, von links nach rechts):
▸ xg_gen_polygons: Stufen (Doku-Website)
Auf anderen Bildern (synthetische Szene / Foto / Münzen. Obere Reihe: Eingaben, untere Reihe: deren Ausgaben. Regler auf Standard):
▸ xg_gen_polygons: andere Eingaben (Doku-Website)
Douglas-Peucker-Polylinienvereinfachung; eps = a × Diagonale der Kontur-Bounding-Box.
Dünnt jede Kontur mit dem Ramer-Douglas-Peucker-Verfahren zu einem Polygonzug (Polygon) mit weniger Eckpunkten aus. Anfangs- und Endpunkt bleiben stets erhalten; überschreitet der Abstand des am weitesten von der Sehne eines Abschnitts entfernten Punkts eps, wird dieser Punkt übernommen und rekursiv geteilt. eps ist je Kontur die Diagonallänge hypot(Δrow, Δcol) der bbox dieser Kontur multipliziert mit a (auf [0,1] begrenzt). a=0 ergibt eps=0 (nur exakt auf der Sehne liegende Punkte entfallen); je größer a, desto gröber, und bei a=1 bleiben nur die 2 Endpunkte. b wird nicht verwendet.
Rückgabewert ist ein {"shape", "cs"}-Kontur-Dict. Konturen mit weniger als 3 Punkten bleiben als Kopie erhalten. Bei einer geschlossenen Kontur (Anfang = Ende) sind Anfangs- und Endpunkt derselbe Punkt; bei großem a degeneriert sie daher zu 2 Punkten (demselben Punkt), und Flächen- und Orientierungsmerkmale werden 0. Um die Form geschlossener Konturen zu erhalten, a klein wählen (gemessen: eine Ellipse mit Radius 5 bis 8 aus 101 Punkten wird bei a=0.05 zu 9 Punkten). Die Ausdünnung gibt eine Teilmenge der ursprünglichen Punkte zurück und erzeugt keine neuen Punkte. Als Vorverarbeitung, um den Rechenaufwand nachfolgender xg_area_center oder xg_regress_contours zu senken, oder zur Erkennung von Ecken (Eckpunkten) von Polygonzügen.
• Leitfaden zur Familie gallery2d_geometry
• 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 sk_find_contours 0.50 0.50 xg_gen_polygons 0.50 0.50
▸ Diese Pipeline laden · Laden & ausführen
• gallery2d_geometry — py -3.11 examples/gallery2d_geometry.py
contour als Eingabe)identity · select_contours · smooth_contours · fit_line_contours · contours_to_region · count_contours · total_length · select_contours_xld
xldgeom)xg_moments · xg_area_center · xg_eccentricity · xg_orientation · xg_elliptic_axis · xg_height_width_ratio · xg_regress_contours · xg_clip_contours
*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.