smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1Xldsmallest_rectangle1_xld (Operator)

Name

smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1Xldsmallest_rectangle1_xld — 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)

def smallest_rectangle1_xld(xld: HObject) -> Tuple[Sequence[float], Sequence[float], Sequence[float], Sequence[float]]

def smallest_rectangle1_xld_s(xld: HObject) -> Tuple[float, float, float, float]

Beschreibung

smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1XldSmallestRectangle1Xldsmallest_rectangle1_xld 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 (Row1Row1Row1Row1row1row_1,Column1Column1Column1Column1column1column_1,Row2Row2Row2Row2row2row_2,Column2Column2Column2Column2column2column_2) 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 XLDXLDXLDXLDXLDxld abgespeichert. Bei leerer Kontur haben alle Parameter den Wert 0, soweit kein anderes Verhalten eingestellt wurde (siehe set_systemset_systemSetSystemSetSystemSetSystemset_system).

Achtung

Bei leeren Konturen kann das Ergebnis von Row1Row1Row1Row1row1row_1,Column1Column1Column1Column1column1column_1, Row2Row2Row2Row2row2row_2 und Column2Column2Column2Column2column2column_2 (alle sind 0) zu Konfusionen führen.

Ausführungsinformationen

Parameter

XLDXLDXLDXLDXLDxld (input_object)  xld(-array) objectHXLDHObjectHXLDHobject

Zu untersuchende Konturen oder Polygone.

Row1Row1Row1Row1row1row_1 (output_control)  rectangle.origin.y(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Zeilenkoordinate des linken oberen Eckpunkts des umschließenden Rechtecks.

Column1Column1Column1Column1column1column_1 (output_control)  rectangle.origin.x(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Spaltenkoordinate des linken oberen Eckpunkts des umschließenden Rechtecks.

Row2Row2Row2Row2row2row_2 (output_control)  rectangle.corner.y(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Zeilenkoordinate des rechten unteren Eckpunkts des umschließenden Rechtecks.

Column2Column2Column2Column2column2column_2 (output_control)  rectangle.corner.x(-array) HTupleSequence[float]HTupleHtuple (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_xldSmallestRectangle1XldSmallestRectangle1XldSmallestRectangle1Xldsmallest_rectangle1_xld liefert den Wert 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>)set_system("no_object_result",<Result>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXldGenContoursSkeletonXldgen_contours_skeleton_xld, edges_sub_pixedges_sub_pixEdgesSubPixEdgesSubPixEdgesSubPixedges_sub_pix, threshold_sub_pixthreshold_sub_pixThresholdSubPixThresholdSubPixThresholdSubPixthreshold_sub_pix, gen_contour_polygon_xldgen_contour_polygon_xldGenContourPolygonXldGenContourPolygonXldGenContourPolygonXldgen_contour_polygon_xld

Nachfolger

gen_polygons_xldgen_polygons_xldGenPolygonsXldGenPolygonsXldGenPolygonsXldgen_polygons_xld

Alternativen

height_width_ratio_xldheight_width_ratio_xldHeightWidthRatioXldHeightWidthRatioXldHeightWidthRatioXldheight_width_ratio_xld, smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2XldSmallestRectangle2Xldsmallest_rectangle2_xld, shape_trans_xldshape_trans_xldShapeTransXldShapeTransXldShapeTransXldshape_trans_xld

Siehe auch

shape_trans_xldshape_trans_xldShapeTransXldShapeTransXldShapeTransXldshape_trans_xld, smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2XldSmallestRectangle2Xldsmallest_rectangle2_xld, smallest_circle_xldsmallest_circle_xldSmallestCircleXldSmallestCircleXldSmallestCircleXldsmallest_circle_xld, elliptic_axis_xldelliptic_axis_xldEllipticAxisXldEllipticAxisXldEllipticAxisXldelliptic_axis_xld, area_center_xldarea_center_xldAreaCenterXldAreaCenterXldAreaCenterXldarea_center_xld

Modul

Foundation