circularity_xldcircularity_xldCircularityXldCircularityXld (Operator)

Name

circularity_xldcircularity_xldCircularityXldCircularityXld — Formfaktor für die Kreisförmigkeit von Konturen bzw. Polygonen.

Signatur

circularity_xld(XLD : : : Circularity)

Herror circularity_xld(const Hobject XLD, double* Circularity)

Herror T_circularity_xld(const Hobject XLD, Htuple* Circularity)

void CircularityXld(const HObject& XLD, HTuple* Circularity)

HTuple HXLD::CircularityXld() const

static void HOperatorSet.CircularityXld(HObject XLD, out HTuple circularity)

HTuple HXLD.CircularityXld()

Beschreibung

circularity_xldcircularity_xldCircularityXldCircularityXldCircularityXld 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_xldTestSelfIntersectionXldTestSelfIntersectionXldTestSelfIntersectionXld ü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 CircularityCircularityCircularityCircularitycircularity definiert als: Der Formfaktor CircularityCircularityCircularityCircularitycircularity ist bei einem Kreis gleich 1. Wenn die Kontur oder das Polygon langgestreckt ist, ist CircularityCircularityCircularityCircularitycircularity kleiner als 1. circularity_xldcircularity_xldCircularityXldCircularityXldCircularityXld 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 XLDXLDXLDXLDXLD abgespeichert.

Ausführungsinformationen

Parameter

XLDXLDXLDXLDXLD (input_object)  xld(-array) objectHXLDHXLDHobject

Zu untersuchende Konturen oder Polygone.

CircularityCircularityCircularityCircularitycircularity (output_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Rundheit der Eingabekonturen bzw. -polygone.

Zusicherung: 0 <= Circularity && Circularity <= 1.0

Ergebnis

circularity_xldcircularity_xldCircularityXldCircularityXldCircularityXld 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>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

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

Alternativen

compactness_xldcompactness_xldCompactnessXldCompactnessXldCompactnessXld, convexity_xldconvexity_xldConvexityXldConvexityXldConvexityXld, eccentricity_xldeccentricity_xldEccentricityXldEccentricityXldEccentricityXld, rectangularity_xldrectangularity_xldRectangularityXldRectangularityXldRectangularityXld

Siehe auch

area_center_xldarea_center_xldAreaCenterXldAreaCenterXldAreaCenterXld, select_shape_xldselect_shape_xldSelectShapeXldSelectShapeXldSelectShapeXld

Modul

Foundation