KlassenKlassenKlassenKlassen | | | | Operatoren

circularity_xldcircularity_xldCircularityXldcircularity_xldCircularityXldCircularityXld (Operator)

Name

circularity_xldcircularity_xldCircularityXldcircularity_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)

Herror circularity_xld(Hobject XLD, double* Circularity)

Herror circularity_xld(Hobject XLD, HTuple* Circularity)

double HXLD::CircularityXld() const

HTuple HXLDArray::CircularityXld() const

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

HTuple HXLD::CircularityXld() const

void HOperatorSetX.CircularityXld(
[in] IHUntypedObjectX* XLD, [out] VARIANT* Circularity)

VARIANT HXLDX.CircularityXld()

VARIANT HXLDContX.CircularityXld()

VARIANT HXLDPolyX.CircularityXld()

VARIANT HXLDParaX.CircularityXld()

VARIANT HXLDModParaX.CircularityXld()

VARIANT HXLDExtParaX.CircularityXld()

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

HTuple HXLD.CircularityXld()

Beschreibung

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.

Parallelisierung

Parameter

XLDXLDXLDXLDXLDXLD (input_object)  xld(-array) objectHXLDHXLDHXLDHXLDXHobject

Zu untersuchende Konturen oder Polygone.

CircularityCircularityCircularityCircularityCircularitycircularity (output_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Rundheit der Eingabekonturen bzw. -polygone.

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

Ergebnis

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.

Vorgänger

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

Alternativen

compactness_xldcompactness_xldCompactnessXldcompactness_xldCompactnessXldCompactnessXld, convexity_xldconvexity_xldConvexityXldconvexity_xldConvexityXldConvexityXld, eccentricity_xldeccentricity_xldEccentricityXldeccentricity_xldEccentricityXldEccentricityXld

Siehe auch

area_center_xldarea_center_xldAreaCenterXldarea_center_xldAreaCenterXldAreaCenterXld, select_shape_xldselect_shape_xldSelectShapeXldselect_shape_xldSelectShapeXldSelectShapeXld

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren