KlassenKlassenKlassenKlassen | | | | Operatoren

compactness_xldcompactness_xldCompactnessXldcompactness_xldCompactnessXldCompactnessXld (Operator)

Name

compactness_xldcompactness_xldCompactnessXldcompactness_xldCompactnessXldCompactnessXld — Formfaktor für die Kompaktheit von Konturen oder Polygonen.

Signatur

compactness_xld(XLD : : : Compactness)

Herror compactness_xld(const Hobject XLD, double* Compactness)

Herror T_compactness_xld(const Hobject XLD, Htuple* Compactness)

Herror compactness_xld(Hobject XLD, double* Compactness)

Herror compactness_xld(Hobject XLD, HTuple* Compactness)

double HXLD::CompactnessXld() const

HTuple HXLDArray::CompactnessXld() const

void CompactnessXld(const HObject& XLD, HTuple* Compactness)

HTuple HXLD::CompactnessXld() const

void HOperatorSetX.CompactnessXld(
[in] IHUntypedObjectX* XLD, [out] VARIANT* Compactness)

VARIANT HXLDX.CompactnessXld()

VARIANT HXLDContX.CompactnessXld()

VARIANT HXLDPolyX.CompactnessXld()

VARIANT HXLDParaX.CompactnessXld()

VARIANT HXLDModParaX.CompactnessXld()

VARIANT HXLDExtParaX.CompactnessXld()

static void HOperatorSet.CompactnessXld(HObject XLD, out HTuple compactness)

HTuple HXLD.CompactnessXld()

Beschreibung

compactness_xldcompactness_xldCompactnessXldcompactness_xldCompactnessXldCompactnessXld berechnet die Kompaktheit für jede Eingabekontur bzw. jedes Eingabepolygon in XLDXLDXLDXLDXLDXLD. 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_xldTestSelfIntersectionXldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXld ü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 CompactnessCompactnessCompactnessCompactnessCompactnesscompactness definiert als:

Der Formfaktor CompactnessCompactnessCompactnessCompactnessCompactnesscompactness ist bei einem Kreis gleich 1. Ist die Kontur bzw. das Polygon langgestreckt, dann ist CompactnessCompactnessCompactnessCompactnessCompactnesscompactness größer als 1. compactness_xldcompactness_xldCompactnessXldcompactness_xldCompactnessXldCompactnessXld 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 XLDXLDXLDXLDXLDXLD abgespeichert.

Parallelisierung

Parameter

XLDXLDXLDXLDXLDXLD (input_object)  xld(-array) objectHXLDHXLDHXLDHXLDXHobject

Zu untersuchende Konturen bzw. Polygone.

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

Kompaktheit der Eingabekonturen bzw. Polygone.

Zusicherung: Compactness >= 1.0 || Compactness == 0

Ergebnis

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

circularity_xldcircularity_xldCircularityXldcircularity_xldCircularityXldCircularityXld, 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