ClassesClassesClassesClasses | | | | Operators

smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1Xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1Xld (Operator)

Name

smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1Xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1Xld — Enclosing rectangle parallel to the coordinate axes of contours or polygons.

Signature

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)

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

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

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

HTuple HXLDArray::SmallestRectangle1Xld(HTuple* Column1, HTuple* Row2, HTuple* Column2) const

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

void HOperatorSetX.SmallestRectangle1Xld(
[in] IHUntypedObjectX* XLD, [out] VARIANT* Row1, [out] VARIANT* Column1, [out] VARIANT* Row2, [out] VARIANT* Column2)

VARIANT HXLDX.SmallestRectangle1Xld(
[out] VARIANT* Column1, [out] VARIANT* Row2, [out] VARIANT* Column2)

VARIANT HXLDContX.SmallestRectangle1Xld(
[out] VARIANT* Column1, [out] VARIANT* Row2, [out] VARIANT* Column2)

VARIANT HXLDPolyX.SmallestRectangle1Xld(
[out] VARIANT* Column1, [out] VARIANT* Row2, [out] VARIANT* Column2)

VARIANT HXLDParaX.SmallestRectangle1Xld(
[out] VARIANT* Column1, [out] VARIANT* Row2, [out] VARIANT* Column2)

VARIANT HXLDModParaX.SmallestRectangle1Xld(
[out] VARIANT* Column1, [out] VARIANT* Row2, [out] VARIANT* Column2)

VARIANT HXLDExtParaX.SmallestRectangle1Xld(
[out] VARIANT* Column1, [out] VARIANT* Row2, [out] VARIANT* Column2)

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)

Description

The operator smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1Xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1Xld calculates the enclosing rectangle(parallel to the coordinate axes) for each input contour or polygon. The enclosing rectangle is described by the coordinates of the corner pixels (Row1Row1Row1Row1Row1row1,Column1Column1Column1Column1Column1column1,Row2Row2Row2Row2Row2row2,Column2Column2Column2Column2Column2column2)

If more than one contour or polygon is passed, the results are stored in tuples in the same order as the respective contours or polygons in XLDXLDXLDXLDXLDXLD. In case of an empty contour all parameters have the value 0 if no other behavior was set (see set_systemset_systemSetSystemset_systemSetSystemSetSystem).

Attention

In case of empty contours the result of Row1Row1Row1Row1Row1row1,Column1Column1Column1Column1Column1column1, Row2Row2Row2Row2Row2row2 and Column2Column2Column2Column2Column2column2 (all are 0) can lead to confusion.

Parallelization

Parameters

XLDXLDXLDXLDXLDXLD (input_object)  xld(-array) objectHXLDHXLDHXLDHXLDXHobject

Contours or polygons to be examined.

Row1Row1Row1Row1Row1row1 (output_control)  rectangle.origin.y(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Row coordinate of upper left corner point of the enclosing rectangle.

Column1Column1Column1Column1Column1column1 (output_control)  rectangle.origin.x(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Column coordinate of upper left corner point of the enclosing rectangle.

Row2Row2Row2Row2Row2row2 (output_control)  rectangle.corner.y(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Row coordinate of lower right corner point of the enclosing rectangle.

Column2Column2Column2Column2Column2column2 (output_control)  rectangle.corner.x(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Column coordinate of lower right corner point of the enclosing rectangle.

Complexity

If N is the number of contour points, the runtime complexity is O(N).

Result

smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1Xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1Xld returns 2 (H_MSG_TRUE) if the input is not empty. If the input is empty the behavior can be set via set_system(::'no_object_result',<Result>:)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>). If necessary, an exception is raised.

Possible Predecessors

gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXld, edges_sub_pixedges_sub_pixEdgesSubPixedges_sub_pixEdgesSubPixEdgesSubPix, threshold_sub_pixthreshold_sub_pixThresholdSubPixthreshold_sub_pixThresholdSubPixThresholdSubPix, gen_contour_polygon_xldgen_contour_polygon_xldGenContourPolygonXldgen_contour_polygon_xldGenContourPolygonXldGenContourPolygonXld

Possible Successors

gen_polygons_xldgen_polygons_xldGenPolygonsXldgen_polygons_xldGenPolygonsXldGenPolygonsXld

Alternatives

smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2Xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2Xld, shape_trans_xldshape_trans_xldShapeTransXldshape_trans_xldShapeTransXldShapeTransXld

See also

shape_trans_xldshape_trans_xldShapeTransXldshape_trans_xldShapeTransXldShapeTransXld, smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2Xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2Xld, smallest_circle_xldsmallest_circle_xldSmallestCircleXldsmallest_circle_xldSmallestCircleXldSmallestCircleXld, elliptic_axis_xldelliptic_axis_xldEllipticAxisXldelliptic_axis_xldEllipticAxisXldEllipticAxisXld, area_center_xldarea_center_xldAreaCenterXldarea_center_xldAreaCenterXldAreaCenterXld

Module

Foundation


ClassesClassesClassesClasses | | | | Operators