Name
circularity_xldcircularity_xldCircularityXldcircularity_xldCircularityXldCircularityXld — Formfaktor für die Kreisförmigkeit von Konturen bzw. Polygonen.
circularity_xldcircularity_xldCircularityXldcircularity_xldCircularityXldCircularityXld 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_xldtest_self_intersection_xldTestSelfIntersectionXldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXld ü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 CircularityCircularityCircularityCircularityCircularitycircularity definiert
als:
Der Formfaktor CircularityCircularityCircularityCircularityCircularitycircularity ist bei einem Kreis gleich 1.
Wenn die Kontur oder das Polygon langgestreckt ist, ist CircularityCircularityCircularityCircularityCircularitycircularity
kleiner als 1. circularity_xldcircularity_xldCircularityXldcircularity_xldCircularityXldCircularityXld 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 XLDXLDXLDXLDXLDXLD abgespeichert.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf Tupelebene.
Zu untersuchende Konturen oder Polygone.
Rundheit der Eingabekonturen bzw. -polygone.
Zusicherung: 0 <= Circularity && Circularity <= 1.0
circularity_xldcircularity_xldCircularityXldcircularity_xldCircularityXldCircularityXld 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>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>) festlegen.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXld,
edges_sub_pixedges_sub_pixEdgesSubPixedges_sub_pixEdgesSubPixEdgesSubPix,
threshold_sub_pixthreshold_sub_pixThresholdSubPixthreshold_sub_pixThresholdSubPixThresholdSubPix,
gen_contour_polygon_xldgen_contour_polygon_xldGenContourPolygonXldgen_contour_polygon_xldGenContourPolygonXldGenContourPolygonXld,
test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXld
compactness_xldcompactness_xldCompactnessXldcompactness_xldCompactnessXldCompactnessXld,
convexity_xldconvexity_xldConvexityXldconvexity_xldConvexityXldConvexityXld,
eccentricity_xldeccentricity_xldEccentricityXldeccentricity_xldEccentricityXldEccentricityXld
area_center_xldarea_center_xldAreaCenterXldarea_center_xldAreaCenterXldAreaCenterXld,
select_shape_xldselect_shape_xldSelectShapeXldselect_shape_xldSelectShapeXldSelectShapeXld
Foundation