Shape factor for the circularity (similarity to a circle) of a contour.
The operator circularity_xld calculates the similarity of the input contour with a circle. 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 F is the area enclosed by the contour and max is the
maximum distance from the center to all contour pixels, the shape factor C
is defined as:
C = F / (max^2 * pi)
The shape factor C of a circle is 1. If the contour encloses an
elongated area C is smaller than 1.
The operator circularity_xld especially responds to large bulges.
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.
|
XLD (input_object) |
xld(-array) -> object |
| Contour(s) to be examined. | |
|
Circularity (output_control) |
real(-array) -> real |
| Roundness of the input contour(s). | |
| Assertion: (0 <= Circularity) && (Circularity <= 1.0) | |
The operator circularity_xld returns the value 2 (H_MSG_TRUE) if the input is not empty. The behavior in case of empty input (no input contour available) is set via the operator set_system('no_object_result',<Result>). If necessary an exception handling is raised.
circularity_xld is reentrant and automatically parallelized (on tuple level).
gen_contours_skeleton_xld, edges_sub_pix, threshold_sub_pix, gen_contour_polygon_xld
compactness_xld, convexity_xld, eccentricity_xld
area_center_xld, select_shape_xld
Sub-pixel operators