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
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
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf Tupelebene.
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 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>)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