distance_contours_xld — Berechnen des punktweisen Abstands einer Kontur zu einer anderen.
distance_contours_xld(ContourFrom, ContourTo : ContourOut : Mode : )
Der Operator distance_contours_xld berechnet für jeden Punkt in
ContourFrom den minimalen Abstand zu den in ContourTo
übergebenen Konturen.
Die zurückgelieferte Kontur ContourOut enthält
ContourFrom mit dem Attribut 'distance', in dem die
berechneten Abstände gespeichert sind.
Die Abstände können durch die Abfrage des Attributs
'distance' mit dem Operator get_contour_attrib_xld
abgerufen werden. Weitere Informationen zu Konturattributen können der
Referenz von get_contour_attrib_xld entnommen werden.
Der Parameter Mode legt fest, welche Abstände für jeden Punkt
in ContourFrom berechnet werden:
'point_to_point' berechnet den minimalen Abstand zu den
Stützpunkten von ContourTo.
Dagegen berechnet 'point_to_segment' den minimalen Abstand zu
den Kontursegmenten von ContourTo (siehe auch nachstehende
Abbildung).
ContourFrom links berechnet wird.
Der Abstand entspricht dem Modus
'point_to_point', der Abstand dem Modus
'point_to_segment'.
In vielen Anwendungen bietet sich 'point_to_segment' für die
eigentlich korrekte Lösung an, während 'point_to_point'
deutlich schneller ist.
Bezeichnet m die Anzahl der Punkte in ContourFrom,
n die Anzahl der Punkte in ContourTo, dann hat
distance_contours_xld die Komplexität O(mlog(n)) für
'point_to_point', und O(mn) für 'point_to_segment'.
Falls die Referenzkontur wiederholt verwendet wird, können die
Operatoren create_distance_transform_xld und
apply_distance_transform_xld alternativ zu
distance_contours_xld benutzt werden.
Nähere Information hierzu finden sich in der Dokumentation zu
create_distance_transform_xld.
ContourFrom (input_object) xld_cont(-array) → object
Konturen, für deren Punkte die Abstände berechnet werden.
ContourTo (input_object) xld_cont(-array) → object
Konturen, zu denen die Abstände berechnet werden.
ContourOut (output_object) xld_cont(-array) → object
Kopie von ContourFrom mit den Abständen als
Attribut.
Mode (input_control) string → (string)
Berechne die Distanz zu Punkten ('point_to_point') oder zu ganzen Segmenten ('point_to_segment').
Defaultwert: 'point_to_point'
Werteliste: 'point_to_point', 'point_to_segment'
Sind die Parameterwerte korrekt, dann liefert der Operator den Wert 2 (H_MSG_TRUE), sonst eine Fehlermeldung.
get_contour_attrib_xld,
segment_contour_attrib_xld
apply_distance_transform_xld,
distance_cc,
distance_cc_min
Foundation