moments_points_xldmoments_points_xldMomentsPointsXldMomentsPointsXldmoments_points_xld (算子)

名称

moments_points_xldmoments_points_xldMomentsPointsXldMomentsPointsXldmoments_points_xld — Geometric moments , , and of contours or polygons treated as point clouds.

签名

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

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

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

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

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

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

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

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

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

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

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

描述

moments_points_xldmoments_points_xldMomentsPointsXldMomentsPointsXldMomentsPointsXldmoments_points_xld calculates the moments (M20M20M20M20m20m20, M02M02M02M02m02m02, and M11M11M11M11m11m11) of a point cloud given by a contour or a polygon XLDXLDXLDXLDXLDxld (i.e., the order of the points in the contour or polygon is not taken into account). Therefore, the moments are given by . Here, is the centroid and n the number of points.

If the contour or polygon is closed (end point = start point), the end point of the contour or polygon is not taken into account to avoid that it receives twice the weight of the other points.

moments_points_xldmoments_points_xldMomentsPointsXldMomentsPointsXldMomentsPointsXldmoments_points_xld should be used if the contour XLDXLDXLDXLDXLDxld intersects itself or if it is not possible to close the contour using a line from end to start point without self-intersection, because in this case moments_xldmoments_xldMomentsXldMomentsXldMomentsXldmoments_xld does not produce useful results.可使用 test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXldTestSelfIntersectionXldtest_self_intersection_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_points_xldmoments_points_xldMomentsPointsXldMomentsPointsXldMomentsPointsXldmoments_points_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_xldmoments_xldMomentsXldMomentsXldMomentsXldmoments_xld, moments_any_xldmoments_any_xldMomentsAnyXldMomentsAnyXldMomentsAnyXldmoments_any_xld, moments_any_points_xldmoments_any_points_xldMomentsAnyPointsXldMomentsAnyPointsXldMomentsAnyPointsXldmoments_any_points_xld

另见

moments_any_points_xldmoments_any_points_xldMomentsAnyPointsXldMomentsAnyPointsXldMomentsAnyPointsXldmoments_any_points_xld, area_center_points_xldarea_center_points_xldAreaCenterPointsXldAreaCenterPointsXldAreaCenterPointsXldarea_center_points_xld, moments_region_2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2ndMomentsRegion2ndmoments_region_2nd, area_centerarea_centerAreaCenterAreaCenterAreaCenterarea_center

模块

基础