circularity_xld
— Formfaktor für die Kreisförmigkeit von Konturen bzw. Polygonen.
circularity_xld(XLD : : : Circularity)
circularity_xld
berechnet für jede Eingabekontur bzw. jedes
Eingabepolygon die Ähnlichkeit mit einem Kreis. 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 selbst schneiden oder nicht, lässt sich mit
test_self_intersection_xld
überprüfen).
Ist eine Eingabekontur oder ein Eingabepolygon nicht geschlossen, so wird
sie/es vor der Berechnung automatisch geschlossen.
Berechnung:
Sei F die eingeschlossene Fläche der Kontur bzw. des Polygons und
max der maximale Abstand vom Schwerpunkt zu allen Kontur- bzw.
Polygonpunkten, dann ist der Formfaktor Circularity
definiert
als:
Der Formfaktor Circularity
ist bei einem Kreis gleich 1.
Wenn die Kontur oder das Polygon langgestreckt ist, ist Circularity
kleiner als 1. circularity_xld
spricht besonders auf große
Ausbuchtungen 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 oder Polygone.
Circularity
(output_control) real(-array) →
(real)
Rundheit der Eingabekonturen bzw. -polygone.
Zusicherung: 0 <= Circularity && Circularity <= 1.0
circularity_xld
liefert den Wert 2 (H_MSG_TRUE), falls die Eingabekontur
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
compactness_xld
,
convexity_xld
,
eccentricity_xld
,
rectangularity_xld
area_center_xld
,
select_shape_xld
Foundation