compactness_xldcompactness_xldCompactnessXldCompactnessXld (Operator)

Name

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

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

HTuple HXLD::CompactnessXld() const

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

HTuple HXLD.CompactnessXld()

Beschreibung

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.

Ausführungsinformationen

Parameter

XLDXLDXLDXLDXLD (input_object)  xld(-array) objectHXLDHXLDHobject

Zu untersuchende Konturen bzw. Polygone.

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

Kompaktheit der Eingabekonturen bzw. Polygone.

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

Ergebnis

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.

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

circularity_xldcircularity_xldCircularityXldCircularityXldCircularityXld, convexity_xldconvexity_xldConvexityXldConvexityXldConvexityXld, eccentricity_xldeccentricity_xldEccentricityXldEccentricityXldEccentricityXld, rectangularity_xldrectangularity_xldRectangularityXldRectangularityXldRectangularityXld

Siehe auch

area_center_xldarea_center_xldAreaCenterXldAreaCenterXldAreaCenterXld, select_shape_xldselect_shape_xldSelectShapeXldSelectShapeXldSelectShapeXld

Modul

Foundation