circularity — Shape factor for the circularity (similarity to a circle) of a region.
circularity calculates the similarity of
the input region with a circle.
If F is the area of the region and max is the maximum distance from the center to all contour pixels, the shape factor C is defined as:
C = min(1,C')
The shape factor C of a circle is 1. If the region
is long or has holes, C is smaller than 1.
circularity especially responds to large bulges,
holes and unconnected regions. The value of C is clipped to 1.0,
because the pixel area of a region can only be an approximation of a
real circle's area. This approximation error is bigger for small
regions than for large regions.
In the documentation of this chapter (Regions / Features), you can find an image illustrating regions which vary in their circularity.
In case of an empty region the operator
circularity returns the
value 0 (if no other behavior was set (see
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.
Region(s) to be examined.
Circularity of the input region(s).
0 <= Circularity && Circularity <= 1.0
* Comparison between shape factors of rectangle, circle and ellipse: gen_rectangle1(R1,10,10,20,20) gen_rectangle2(R2,100,100,0.0,100,20) gen_ellipse(E100,100,100,0.0,100,20) gen_circle(C,100,100,20) circularity(R1,M_R1) circularity(R2,M_R2) circularity(E100,M_E) circularity(C,M_C) fwrite_string(FileId,['quadrate: ',M_R1]) fnew_line(FileId) fwrite_string(FileId,['rectangle: ',M_R2]) fnew_line(FileId) fwrite_string(FileId,['ellipse: ',M_E]) fnew_line(FileId) fwrite_string(FileId,['circle: ',M_C]) fnew_line(FileId)
circularity returns the value 2 (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
The behavior in case of empty region (the region is the empty set) is set via
If necessary an exception is raised.