gen_contours_skeleton_xld — Umwandeln eines Skeletts in XLD-Konturen.
Mit gen_contours_skeleton_xld wird das in
Skeleton als Region übergebene Skelett (z.B. Bildkanten)
in die Konturdarstellung umgerechnet. Es wird angenommen, dass der
Großteil der Region nur ein Pixel breit ist (siehe
skeleton).
Der Algorithmus versucht zunächst, die Region so zu transformieren,
dass sie in 8-Nachbarschaft nur noch Linienzüge enthält.
In einem zweiten Schritt werden die Kreuzungspunkte markiert.
Anschließend versucht gen_contours_skeleton_xld Konturen zu
erzeugen, die in End- und Kreuzungspunkten enden, insbesondere für
Kreuzungspunkte in den folgenden Konfigurationen (in allen vier
Rotationen):
1 0 1 1 0 1 1 0 0 1 0 0 0 1 0 0 1 0
0 2 0 0 2 0 0 2 1 0 2 1 0 2 1 1 2 1
0 0 1 1 0 1 0 1 0 1 0 0 0 1 0 0 1 0
wobei 0 = Hintergrund, 1 = Vordergrund und 2 = Kreuzungspunkt.
Anschließend werden die Konturen zurückgegeben, die einschließlich End-
und Kreuzungspunkten mindestens Length Punkte lang sind.
Die Unterbrechung der Konturen an Kreuzungspunkten hat zur Folge,
dass auch längere Linienzüge durch Kreuzen von kurzen Linien (auch
wenn diese weniger als Length Punkte lang sind) in
mehrere Konturen zerfallen (Mode 'filter'). Dies wird mit
dem Filtermodus (Mode) 'generalize1' vermieden. In diesem
Fall werden die Konturen so erzeugt, wie wenn die Konturen kürzer
als Length Punkte nicht vorhanden wären. Damit auch
Linienzüge, die durch Kreuzen von kurzen Linien in sehr kurze
Konturen zerfallen, erhalten bleiben, kann der Filtermodus
(Mode) 'generalize2' eingestellt werden. In diesem Fall
bleiben Linienstücke erhalten, deren beide Endpunkte
Kreuzungspunkte mit anderen Linien sind, auch wenn sie kürzer als
Length Punkte sind.
Skeleton (input_object) region → object
Skelett für die Konturberechnung.
Contours (output_object) xld_cont-array → object
Ausgabe-Konturen.
Length (input_control) integer → (integer)
Mindestlänge zu erfassender Konturen.
Defaultwert: 1
Wertevorschläge: 1, 2, 3, 5, 10, 20
Mode (input_control) string → (string)
Kontur-Filtermodus.
Defaultwert: 'filter'
Werteliste: 'filter', 'generalize1', 'generalize2'
smooth_contours_xld,
get_contour_xld,
gen_polygons_xld
edges_image,
threshold,
get_region_contour
Foundation