diameter_xlddiameter_xldDiameterXldDiameterXld (Operator)

Name

diameter_xlddiameter_xldDiameterXldDiameterXld — Maximaler Abstand zweier Punkte von Konturen oder Polygonen.

Signatur

diameter_xld(XLD : : : Row1, Column1, Row2, Column2, Diameter)

Herror diameter_xld(const Hobject XLD, double* Row1, double* Column1, double* Row2, double* Column2, double* Diameter)

Herror T_diameter_xld(const Hobject XLD, Htuple* Row1, Htuple* Column1, Htuple* Row2, Htuple* Column2, Htuple* Diameter)

void DiameterXld(const HObject& XLD, HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2, HTuple* Diameter)

void HXLD::DiameterXld(HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2, HTuple* Diameter) const

void HXLD::DiameterXld(double* Row1, double* Column1, double* Row2, double* Column2, double* Diameter) const

static void HOperatorSet.DiameterXld(HObject XLD, out HTuple row1, out HTuple column1, out HTuple row2, out HTuple column2, out HTuple diameter)

void HXLD.DiameterXld(out HTuple row1, out HTuple column1, out HTuple row2, out HTuple column2, out HTuple diameter)

void HXLD.DiameterXld(out double row1, out double column1, out double row2, out double column2, out double diameter)

Beschreibung

diameter_xlddiameter_xldDiameterXldDiameterXldDiameterXld berechnet den maximalen Abstand zweier Punkte für jede Eingabekontur bzw. für jedes Eingabepolygon. Es werden die Koordinaten der beiden Extrempunkte und der Abstand zwischen diesen Punkten zurückgegeben. Es muss darauf geachtet werden, dass sich die Eingabekontur bzw. das Eingabepolygon nicht selbst schneidet, da ansonsten die Ausgabeparameter keine aussagekräftigen Werte enthalten (Ob sich die Eingabekontur bzw. das Eingabepolygon selbst schneidet oder nicht, lässt sich mit test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXldTestSelfIntersectionXld überprüfen). Ist die Eingabekontur bzw. das Eingabepolygon nicht geschlossen, so wird sie vor der Berechnung automatisch geschlossen.

Wird mehr als eine Kontur oder ein Polygon übergeben, dann werden die Ergebnisse in Tupeln in der Reihenfolge ihrer entsprechenden Konturen bzw. Polygone in XLDXLDXLDXLDXLD abgespeichert.

Achtung

Bei leerer Kontur bzw. leerem Polygon kann das Ergebnis von Row1Row1Row1Row1row1, Column1Column1Column1Column1column1, Row2Row2Row2Row2row2 und Column2Column2Column2Column2column2 (alle sind 0) zu Konfusionen führen.

Ausführungsinformationen

Parameter

XLDXLDXLDXLDXLD (input_object)  xld(-array) objectHXLDHXLDHobject

Zu untersuchende Konturen bzw. Polygone.

Row1Row1Row1Row1row1 (output_control)  line.begin.y(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Zeilenkoordinate des ersten Extrempunktes der Konturen bzw. Polygone.

Column1Column1Column1Column1column1 (output_control)  line.begin.x(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Spaltenkoordinate des ersten Extrempunktes der Konturen bzw. Polygone.

Row2Row2Row2Row2row2 (output_control)  line.end.y(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Zeilenkoordinate des zweiten Extrempunktes der Konturen bzw. Polygone.

Column2Column2Column2Column2column2 (output_control)  line.end.x(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Spaltenkoordinate des zweiten Extrempunktes der Konturen bzw. Polygone.

DiameterDiameterDiameterDiameterdiameter (output_control)  number(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Abstand der beiden Extrempunkte der Konturen oder Polygone.

Ergebnis

diameter_xlddiameter_xldDiameterXldDiameterXldDiameterXld 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

smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2XldSmallestRectangle2Xld

Siehe auch

area_center_xldarea_center_xldAreaCenterXldAreaCenterXldAreaCenterXld

Modul

Foundation