moments_xldmoments_xldMomentsXldMomentsXldmoments_xld (算子)

名称

moments_xldmoments_xldMomentsXldMomentsXldmoments_xld — Geometric moments , , and of contours or polygons.

签名

moments_xld(XLD : : : M11, M20, M02)

Herror moments_xld(const Hobject XLD, double* M11, double* M20, double* M02)

Herror T_moments_xld(const Hobject XLD, Htuple* M11, Htuple* M20, Htuple* M02)

void MomentsXld(const HObject& XLD, HTuple* M11, HTuple* M20, HTuple* M02)

HTuple HXLD::MomentsXld(HTuple* M20, HTuple* M02) const

double HXLD::MomentsXld(double* M20, double* M02) const

static void HOperatorSet.MomentsXld(HObject XLD, out HTuple m11, out HTuple m20, out HTuple m02)

HTuple HXLD.MomentsXld(out HTuple m20, out HTuple m02)

double HXLD.MomentsXld(out double m20, out double m02)

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

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

描述

moments_xldmoments_xldMomentsXldMomentsXldMomentsXldmoments_xld calculates the moments (M20M20M20M20m20m20, M02M02M02M02m02m02, and M11M11M11M11m11m11) of the region enclosed by the contours or polygons XLDXLDXLDXLDXLDxld. See moments_region_2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2ndMomentsRegion2ndmoments_region_2nd for the definition of these features. The moments are computed by applying Green's theorem using only the points on the contour or polygon, i.e., no region is generated explicitly for the purpose of calculating the features.假设轮廓或多边形是闭合的。 If this is not the case moments_xldmoments_xldMomentsXldMomentsXldMomentsXldmoments_xld will artificially close the contours or polygons.

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

如果传递多个轮廓或多边形,结果将按其在 XLDXLDXLDXLDXLDxld 中的顺序存储为元组。

执行信息

参数

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

待检查的轮廓或多边形。

M11M11M11M11m11m11 (输出控制)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Mixed second order moment.

M20M20M20M20m20m20 (输出控制)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Second order moment along the row axis.

M02M02M02M02m02m02 (输出控制)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Second order moment along the column axis.

复杂度

设 n 为轮廓或多边形的点数。则运行时间为 O(n)。

结果

moments_xldmoments_xldMomentsXldMomentsXldMomentsXldmoments_xld 在输入不为空时返回 2 ( H_MSG_TRUE )。如果输入为空则可设置行为通过 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, smooth_contours_xldsmooth_contours_xldSmoothContoursXldSmoothContoursXldSmoothContoursXldsmooth_contours_xld, gen_polygons_xldgen_polygons_xldGenPolygonsXldGenPolygonsXldGenPolygonsXldgen_polygons_xld

替代

moments_any_xldmoments_any_xldMomentsAnyXldMomentsAnyXldMomentsAnyXldmoments_any_xld, moments_points_xldmoments_points_xldMomentsPointsXldMomentsPointsXldMomentsPointsXldmoments_points_xld, moments_any_points_xldmoments_any_points_xldMomentsAnyPointsXldMomentsAnyPointsXldMomentsAnyPointsXldmoments_any_points_xld

另见

moments_any_xldmoments_any_xldMomentsAnyXldMomentsAnyXldMomentsAnyXldmoments_any_xld, area_center_xldarea_center_xldAreaCenterXldAreaCenterXldAreaCenterXldarea_center_xld, moments_region_2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2ndMomentsRegion2ndmoments_region_2nd, area_centerarea_centerAreaCenterAreaCenterAreaCenterarea_center

模块

基础