Name
moments_points_xld moments_points_xld MomentsPointsXld MomentsPointsXld — Geometric moments
,
, and
of contours or polygons treated as point clouds.
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
moments_points_xld moments_points_xld MomentsPointsXld MomentsPointsXld MomentsPointsXld calculates the moments (M20 M20 M20 M20 m20 ,
M02 M02 M02 M02 m02 , and M11 M11 M11 M11 m11 ) of a point cloud given by a contour or a
polygon XLD XLD XLD XLD XLD (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_xld moments_points_xld MomentsPointsXld MomentsPointsXld MomentsPointsXld should be used if the contour XLD XLD XLD XLD XLD
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_xld moments_xld MomentsXld MomentsXld MomentsXld does not produce useful results. To test whether the
contours or polygons intersect themselves,
test_self_intersection_xld test_self_intersection_xld TestSelfIntersectionXld TestSelfIntersectionXld TestSelfIntersectionXld can be used.
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
XLD XLD XLD XLD XLD .
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
Multithreading scope: global (may be called from any thread).
Automatically parallelized on tuple level.
Contours or polygons to be examined.
Mixed second order moment.
Second order moment along the row axis.
Second order moment along the column axis.
Let n be the number of points of the contour or polygon.
Then the run time is O(n).
moments_points_xld moments_points_xld MomentsPointsXld MomentsPointsXld MomentsPointsXld 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>) SetSystem("no_object_result",<Result>) SetSystem("no_object_result",<Result>) . If necessary,
an exception is raised.
gen_contours_skeleton_xld gen_contours_skeleton_xld GenContoursSkeletonXld GenContoursSkeletonXld GenContoursSkeletonXld ,
smooth_contours_xld smooth_contours_xld SmoothContoursXld SmoothContoursXld SmoothContoursXld ,
gen_polygons_xld gen_polygons_xld GenPolygonsXld GenPolygonsXld GenPolygonsXld
moments_xld moments_xld MomentsXld MomentsXld MomentsXld ,
moments_any_xld moments_any_xld MomentsAnyXld MomentsAnyXld MomentsAnyXld ,
moments_any_points_xld moments_any_points_xld MomentsAnyPointsXld MomentsAnyPointsXld MomentsAnyPointsXld
moments_any_points_xld moments_any_points_xld MomentsAnyPointsXld MomentsAnyPointsXld MomentsAnyPointsXld ,
area_center_points_xld area_center_points_xld AreaCenterPointsXld AreaCenterPointsXld AreaCenterPointsXld ,
moments_region_2nd moments_region_2nd MomentsRegion2nd MomentsRegion2nd MomentsRegion2nd ,
area_center area_center AreaCenter AreaCenter AreaCenter
Foundation