compactness_xld
— Formfaktor für die Kompaktheit von Konturen oder Polygonen.
compactness_xld(XLD : : : Compactness)
compactness_xld
berechnet die Kompaktheit für jede Eingabekontur
bzw. jedes Eingabepolygon in XLD
.
Es muss darauf geachtet werden, dass sich die Eingabekonturen bzw. -polygone
nicht selbst schneiden, da ansonsten der Ausgabeparameter keinen
aussagekräftigen Wert enthält (Ob sich die Eingabekonturen bzw. -polygone
selbst schneiden oder nicht, lässt sich mit
test_self_intersection_xld
überprüfen).
Sind die Eingabekonturen bzw. -polygone nicht geschlossen, so werden sie vor
der Berechnung automatisch geschlossen.
Berechnung:
Sei L die Länge der Kontur/des Polygons und F die
eingeschlossene Fläche, dann ist der Formfaktor
Compactness
definiert als:
Der Formfaktor Compactness
ist bei einem Kreis gleich 1.
Ist die Kontur bzw. das Polygon langgestreckt, dann ist
Compactness
größer als 1.
compactness_xld
spricht auf den Verlauf der Kontur/des Polygons
(Rauhigkeit) an.
Wird mehr als eine Kontur oder ein Polygon übergeben, dann werden
ihre Formfaktoren in einem Tupel in der Reihenfolge ihrer entsprechenden
Konturen bzw. Polygone in XLD
abgespeichert.
XLD
(input_object) xld(-array) →
object
Zu untersuchende Konturen bzw. Polygone.
Compactness
(output_control) real(-array) →
(real)
Kompaktheit der Eingabekonturen bzw. Polygone.
Zusicherung: Compactness >= 1.0 || Compactness == 0
compactness_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
circularity_xld
,
convexity_xld
,
eccentricity_xld
,
rectangularity_xld
area_center_xld
,
select_shape_xld
Foundation