Herror ::compactness (
    Hobject Regions,
    double *Compactness
)
Herror ::compactness (
    Hobject Regions,
    HTuple *Compactness
)
double HRegion::Compactness (
    void
) const
HTuple HRegionArray::Compactness (
    void
) const

Shape factor for the compactness of a region.

The operator ::compactness calculates the compactness of the input regions.

Calculation: If L is the length of the contour (see ::contlength) and F
the area of the region the shape factor C is defined as:

                              C = L^2 / (4 F pi))
The shape factor C of a circle is 1. If the region is long or has holes C is larger than 1. The operator ::compactness responds to the course of the contour (roughness) and to holes. In case of an empty region the operator ::compactness returns the value 0 if no other behavior was set (see ::set_system). If more than one region 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 region in the input tuple.


Parameters

Regions (input_object)
region(-array) -> Hobject: HRegion(Array)
Region(s) to be examined.

Compactness (output_control)
real(-array) -> (HTuple.) double *
Compactness of the input region(s).
Assertion: (Compactness >= 1.0) || (Compactness == 0)


Result

The operator ::compactness returns the value H_MSG_TRUE if the input is not empty. The behavior in case of empty input (no input regions available) is set via the operator ::set_system('no_object_result',<Result>). The behavior in case of empty region (the region is the empty set) is set via ::set_system('empty_region_result',<Result>). If necessary an exception handling is raised.


Possible Predecessors

::threshold, ::regiongrowing, ::connection


Alternatives

::compactness, ::convexity, ::eccentricity


See also

::contlength, ::area_center, ::select_shape


Module

Region processing



Copyright © 1996-2002 MVTec Software GmbH