Name
roundnessroundnessRoundnessroundnessRoundnessRoundness — Shape factors from contour.
Herror roundness(Hobject Regions, double* Distance, double* Sigma, double* Roundness, double* Sides)
Herror roundness(Hobject Regions, HTuple* Distance, HTuple* Sigma, HTuple* Roundness, HTuple* Sides)
double HRegion::Roundness(double* Sigma, double* Roundness, double* Sides) const
HTuple HRegionArray::Roundness(HTuple* Sigma, HTuple* Roundness, HTuple* Sides) const
The operator roundnessroundnessRoundnessroundnessRoundnessRoundness examines the distance between the
contour and the center of the area. In particular the mean
distance (DistanceDistanceDistanceDistanceDistancedistance), the deviation from the mean
distance (SigmaSigmaSigmaSigmaSigmasigma) and two shape features
derived therefrom are determined.
RoundnessRoundnessRoundnessRoundnessRoundnessroundness is the relation between mean value and standard
deviation, and SidesSidesSidesSidesSidessides indicates the number of polygon pieces
if a regular polygon is concerned.
The contour for calculating the features is determined depending on the
global neighborhood (see set_systemset_systemSetSystemset_systemSetSystemSetSystem).
Calculation:
If p is the center of the area, pi the pixels
and F the area of the contour.
DistanceDistanceDistanceDistanceDistancedistance = sum(||p - pi||) / F
SigmaSigmaSigmaSigmaSigmasigma^2 = sum(||p - pi|| - DistanceDistanceDistanceDistanceDistancedistance)^2 / F
RoundnessRoundnessRoundnessRoundnessRoundnessroundness = 1 - SigmaSigmaSigmaSigmaSigmasigma / DistanceDistanceDistanceDistanceDistancedistance
SidesSidesSidesSidesSidessides = 1.4111 *(DistanceDistanceDistanceDistanceDistancedistance/SigmaSigmaSigmaSigmaSigmasigma)^0.4724
If more than one region is passed the results are stored in tuples, the index
of a value in the tuple corresponding to the index of a region in the input.
In case of empty region all parameters have the value 0.0 if no other
behavior was set (see set_systemset_systemSetSystemset_systemSetSystemSetSystem).
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on tuple level.
Region(s) to be examined.
Mean distance from the center.
Assertion: Distance >= 0.0
Shape factor for roundness.
Assertion: Roundness <= 1.0
Number of polygon sides.
Assertion: Sides >= 0
If F is the area of a region the mean runtime
complexity is O(sqrt(F)).
The operator roundnessroundnessRoundnessroundnessRoundnessRoundness 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 set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>),
the behavior in case of empty region is set via
set_system('empty_region_result',<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>).
If necessary an exception is raised.
thresholdthresholdThresholdthresholdThresholdThreshold,
regiongrowingregiongrowingRegiongrowingregiongrowingRegiongrowingRegiongrowing,
connectionconnectionConnectionconnectionConnectionConnection
compactnesscompactnessCompactnesscompactnessCompactnessCompactness
contlengthcontlengthContlengthcontlengthContlengthContlength
R. Haralick, L. Shapiro
“Computer and Robot Vision”
Addison-Wesley, 1992, pp. 61
Foundation