smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1Xld (Operator)

Name

smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1Xld — Umschließendes Rechteck parallel zu den Koordinatenachsen von Konturen oder Polygonen.

Signatur

smallest_rectangle1_xld(XLD : : : Row1, Column1, Row2, Column2)

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

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

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

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

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

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

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

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

Beschreibung

smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1XldSmallestRectangle1Xld berechnet das umschließende Rechteck (parallel zu den Koordinatenachsen) für jede Eingabekontur bzw. jedes Eingabepolygon. Das umschließende Rechteck wird durch die Koordinaten der Eckpunkte (Row1Row1Row1Row1row1,Column1Column1Column1Column1column1,Row2Row2Row2Row2row2,Column2Column2Column2Column2column2) beschrieben.

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. Bei leerer Kontur haben alle Parameter den Wert 0, soweit kein anderes Verhalten eingestellt wurde (siehe set_systemset_systemSetSystemSetSystemSetSystem).

Achtung

Bei leeren Konturen 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 oder Polygone.

Row1Row1Row1Row1row1 (output_control)  rectangle.origin.y(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Zeilenkoordinate des linken oberen Eckpunkts des umschließenden Rechtecks.

Column1Column1Column1Column1column1 (output_control)  rectangle.origin.x(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Spaltenkoordinate des linken oberen Eckpunkts des umschließenden Rechtecks.

Row2Row2Row2Row2row2 (output_control)  rectangle.corner.y(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Zeilenkoordinate des rechten unteren Eckpunkts des umschließenden Rechtecks.

Column2Column2Column2Column2column2 (output_control)  rectangle.corner.x(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Spaltenkoordinate des rechten unteren Eckpunkts des umschließenden Rechtecks.

Komplexität

Sei N die Anzahl der Punkte in der Kontur, dann beträgt die Laufzeitkomplexität O(N).

Ergebnis

smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1XldSmallestRectangle1Xld liefert den Wert 2 (H_MSG_TRUE), falls die Eingabe nicht leer ist. Das Verhalten bei leerer Eingabe 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

Nachfolger

gen_polygons_xldgen_polygons_xldGenPolygonsXldGenPolygonsXldGenPolygonsXld

Alternativen

height_width_ratio_xldheight_width_ratio_xldHeightWidthRatioXldHeightWidthRatioXldHeightWidthRatioXld, smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2XldSmallestRectangle2Xld, shape_trans_xldshape_trans_xldShapeTransXldShapeTransXldShapeTransXld

Siehe auch

shape_trans_xldshape_trans_xldShapeTransXldShapeTransXldShapeTransXld, smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2XldSmallestRectangle2Xld, smallest_circle_xldsmallest_circle_xldSmallestCircleXldSmallestCircleXldSmallestCircleXld, elliptic_axis_xldelliptic_axis_xldEllipticAxisXldEllipticAxisXldEllipticAxisXld, area_center_xldarea_center_xldAreaCenterXldAreaCenterXldAreaCenterXld

Modul

Foundation