compactness_xld ( XLD : : : Compactness )

Shape factor for the compactness of a contour.

The operator compactness_xld calculates the compactness of the input contour XLD. The input contour must not intersect itself, otherwise the resulting parameter is not meaningful. If the input contour is not closed it will be closed automatically.

Calculation: If L is the length of the contour and F
the area enclosed by the contour the shape factor Compactness 
is defined as:

                     Compactness = L^2 / (4 F pi))
The shape factor Compactness of a circle is 1. If the contour encloses an elongated area Compactness is larger than 1. The operator compactness_xld responds to the course of the contour (roughness). If more than one contour is passed the numerical values of the shape factor are stored in a tuple, the position of a value in the tuple corresponding to the position of the contour in the input tuple.


Parameters

XLD (input_object)
xld(-array) -> object
Contour(s) to be examined.

Compactness (output_control)
real(-array) -> real
Compactness of the input contour(s).
Assertion: (Compactness >= 1.0) || (Compactness == 0)


Result

The operator compactness_xld returns the value 2 (H_MSG_TRUE) if the input is not empty. The behavior in case of empty input (no input contours available) is set via the operator set_system('no_object_result',<Result>). If necessary an exception is raised.


Parallelization Information

compactness_xld is reentrant and automatically parallelized (on tuple level).


Possible Predecessors

gen_contours_skeleton_xld, edges_sub_pix, threshold_sub_pix, gen_contour_polygon_xld


Alternatives

circularity_xld, convexity_xld, eccentricity_xld


See also

area_center_xld, select_shape_xld


Module

Sub-pixel operators



Copyright © 1996-2005 MVTec Software GmbH