orientation_xldorientation_xldOrientationXldOrientationXldorientation_xld (算子)

名称

orientation_xldorientation_xldOrientationXldOrientationXldorientation_xld — 计算轮廓或多边形的方向。

签名

orientation_xld(XLD : : : Phi)

Herror orientation_xld(const Hobject XLD, double* Phi)

Herror T_orientation_xld(const Hobject XLD, Htuple* Phi)

void OrientationXld(const HObject& XLD, HTuple* Phi)

HTuple HXLD::OrientationXld() const

static void HOperatorSet.OrientationXld(HObject XLD, out HTuple phi)

HTuple HXLD.OrientationXld()

def orientation_xld(xld: HObject) -> Sequence[float]

def orientation_xld_s(xld: HObject) -> float

描述

算子 orientation_xldorientation_xldOrientationXldOrientationXldOrientationXldorientation_xld calculates the orientation of each input contour or polygon. The operator is based on elliptic_axis_xldelliptic_axis_xldEllipticAxisXldEllipticAxisXldEllipticAxisXldelliptic_axis_xld。In addition, the contour respectively polygon point with maximum distance to the center of gravity is calculated. If the column coordinate of this point is less than the column coordinate of the center of gravity the value of is added to the angle.假设轮廓或多边形是闭合的。 If this is not the case orientation_xldorientation_xldOrientationXldOrientationXldOrientationXldorientation_xld will artificially close the contours or polygons.

需要注意的是,orientation_xldorientation_xldOrientationXldOrientationXldOrientationXldorientation_xld 仅在轮廓或多边形在平面上包围区域时才会返回有效结果。特别需要注意的是,轮廓或多边形不得自相交。当传递开放轮廓或多边形时,这一点尤为重要,因为它们会被自动闭合,从而可能产生自相交的情况。可使用 test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXldTestSelfIntersectionXldtest_self_intersection_xld 检测轮廓或多边形是否自相交。 If the contour or polygon intersects itself, useful values for the orientation can be calculated with orientation_points_xldorientation_points_xldOrientationPointsXldOrientationPointsXldOrientationPointsXldorientation_points_xld

If more than one contour or polygon is passed, the values of the orientations are stored in a tuple in the same order as the respective contours or polygons in XLDXLDXLDXLDXLDxld

执行信息

参数

XLDXLDXLDXLDXLDxld (输入对象)  xld(-array) objectHXLDHObjectHXLDHobject

待检查的轮廓或多边形。

PhiPhiPhiPhiphiphi (输出控制)  angle.rad(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Orientation of the contours or polygons (radians).

Assertion: - pi < Phi && Phi <= pi

结果

算子 orientation_xldorientation_xldOrientationXldOrientationXldOrientationXldorientation_xld 在输入不为空时返回值 2 ( H_MSG_TRUE )。The behavior in case of empty input (no input contours available) is set via the operator 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>)。如有必要,则抛出异常。

可能的前趋

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, test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXldTestSelfIntersectionXldtest_self_intersection_xld

替代

elliptic_axis_xldelliptic_axis_xldEllipticAxisXldEllipticAxisXldEllipticAxisXldelliptic_axis_xld, smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2XldSmallestRectangle2Xldsmallest_rectangle2_xld

另见

moments_region_2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2ndMomentsRegion2ndmoments_region_2nd

模块

基础