orientation_points_xld
— Orientation of contours or polygons treated as point clouds.
The operator orientation_points_xld
calculates the
orientation of the point clouds given by the contours or polygons
XLD
(i.e., the order of the points in the contour or
polygon is not taken into account). The orientation Phi is calculated
the same way as in elliptic_axis_points_xld
. 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.
In addition, the contour point p_{m} with maximum distance to the
center of gravity c is calculated. If the angle between the
vector and the vector given by
Phi is
greater than , the value of is added
to the angle. If XLD
consists of only two points,
Phi
is given by the direction from the first point towards
the second point.
orientation_points_xld
should be used if the contour 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
orientation_xld
does not produce useful results. To test whether the
contours or polygons intersect themselves,
test_self_intersection_xld
can be used.
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 XLD
.
XLD
(input_object) xld(-array) →
object
Contours or polygons to be examined.
Phi
(output_control) angle.rad(-array) →
(real)
Orientation of the contours or polygons (radians).
Assertion: - pi < Phi && Phi <= pi
gen_contours_skeleton_xld
,
edges_sub_pix
,
threshold_sub_pix
,
gen_contour_polygon_xld
orientation_xld
,
elliptic_axis_points_xld
,
smallest_rectangle2_xld
Foundation