Name
compactness_xldcompactness_xldCompactnessXldCompactnessXld — Formfaktor für die Kompaktheit von Konturen oder Polygonen.
compactness_xldcompactness_xldCompactnessXldCompactnessXldCompactnessXld berechnet die Kompaktheit für jede Eingabekontur
bzw. jedes Eingabepolygon in XLDXLDXLDXLDXLD.
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_xldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXldTestSelfIntersectionXld ü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
CompactnessCompactnessCompactnessCompactnesscompactness definiert als:
Der Formfaktor CompactnessCompactnessCompactnessCompactnesscompactness ist bei einem Kreis gleich 1.
Ist die Kontur bzw. das Polygon langgestreckt, dann ist
CompactnessCompactnessCompactnessCompactnesscompactness größer als 1.
compactness_xldcompactness_xldCompactnessXldCompactnessXldCompactnessXld 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 XLDXLDXLDXLDXLD 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 bzw. Polygone.
Kompaktheit der Eingabekonturen bzw. Polygone.
Zusicherung: Compactness >= 1.0 || Compactness == 0
compactness_xldcompactness_xldCompactnessXldCompactnessXldCompactnessXld 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>)set_system("no_object_result",<Result>)SetSystem("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_xldGenContoursSkeletonXldGenContoursSkeletonXldGenContoursSkeletonXld,
edges_sub_pixedges_sub_pixEdgesSubPixEdgesSubPixEdgesSubPix,
threshold_sub_pixthreshold_sub_pixThresholdSubPixThresholdSubPixThresholdSubPix,
gen_contour_polygon_xldgen_contour_polygon_xldGenContourPolygonXldGenContourPolygonXldGenContourPolygonXld,
test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXldTestSelfIntersectionXld
circularity_xldcircularity_xldCircularityXldCircularityXldCircularityXld,
convexity_xldconvexity_xldConvexityXldConvexityXldConvexityXld,
eccentricity_xldeccentricity_xldEccentricityXldEccentricityXldEccentricityXld
area_center_xldarea_center_xldAreaCenterXldAreaCenterXldAreaCenterXld,
select_shape_xldselect_shape_xldSelectShapeXldSelectShapeXldSelectShapeXld
Foundation