convexity_xld
— Formfaktor für die Konvexität von Konturen oder Polygonen.
convexity_xld
berechnet für jede Eingabekontur bzw. jedes
Eingabepolygon die Konvexität.
Es muss darauf geachtet werden, dass sich die Eingabekonturen bzw.
Eingabepolygone nicht selbst schneiden, da ansonsten die Ausgabeparameter
keinen aussagekräftigen Wert enthalten (Ob sich die Eingabekonturen bzw.
Eingabepolygone selbst schneiden oder nicht, lässt sich mit
test_self_intersection_xld
überprüfen). Sind die Eingabekonturen bzw.
Eingabepolygone nicht geschlossen, so werden sie vor der Berechnung
automatisch geschlossen.
Berechnung:
Sei die Fläche der konvexen Hülle und
die eingeschlossene
Originalfläche der Kontur bzw. des Polygons, dann ist
der Formfaktor Convexity
definiert als:
Der Formfaktor Convexity
ist gleich 1, wenn die Kontur bzw. das
Polygon konvex ist (z.B. Rechteck, Kreis etc.). Sind Einbuchtungen
vorhanden, dann ist Convexity
kleiner als 1.
Wird mehr als eine Kontur oder ein Polygon übergeben, dann werden
die Zahlenwerte des Formfaktors in einem Tupel in der Reihenfolge der
entsprechenden Konturen bzw. Polygone in XLD
abgespeichert.
XLD
(input_object) xld(-array) →
object
Zu untersuchende Konturen oder Polygone.
Convexity
(output_control) real(-array) →
(real)
Konvexität der Eingabekonturen bzw. -polygone.
Zusicherung: Convexity <= 1
convexity_xld
liefert den Wert 2 (H_MSG_TRUE), falls die Eingabe nicht leer
ist.
Das Verhalten bei leerer Eingabe (keine Eingabekontur vorhanden) lässt
sich mittels set_system('no_object_result',<Result>)
festlegen.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
gen_contours_skeleton_xld
,
edges_sub_pix
,
threshold_sub_pix
,
gen_contour_polygon_xld
,
test_self_intersection_xld
area_center_xld
,
select_shape_xld
,
shape_trans_xld
Foundation