circularity circularity Circularity Circularity circularity (Operator)
名称
circularity circularity Circularity Circularity circularity — 区域圆形度(与圆的相似性)的形状系数。
签名
def circularity (regions : HObject) -> Sequence[float]
def circularity_s (regions : HObject) -> float
描述
The operator circularity circularity Circularity Circularity Circularity circularity calculates the similarity of
the input region with a circle.
Calculation:
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.
The operator circularity circularity Circularity Circularity Circularity 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 circularity Circularity Circularity Circularity circularity returns the
value 0 (if no other behavior was set (see set_system set_system SetSystem SetSystem SetSystem 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.
执行信息
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
Multithreading scope: global (may be called from any thread).
Automatically parallelized on tuple level.
参数
Regions Regions Regions Regions regions regions (input_object) region(-array) → object HRegion HObject HRegion Hobject
Region(s) to be examined.
Circularity Circularity Circularity Circularity circularity circularity (output_control) real(-array) → HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Circularity of the input region(s).
Assertion:
0 <= Circularity && Circularity <= 1.0
示例(HDevelop)
* 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)
示例(C)
/* Comparison between shape factors of rectangle, circle and ellipse */
gen_rectangle1(&R1,10.0,10.0,20.0,20.0);
gen_rectangle2(&R2,100.0,100.0,0.0,100.0,20.0);
gen_ellipse(&E,100.0,100.0,0.0,100.0,20.0);
gen_circle(&C,100.0,100.0,20.0);
circularity(R1,&R1_);
circularity(R2,&R2_);
circularity(E,&E_);
circularity(C,&C_);
printf("quadrate: %g\n",R1_);
printf("rectangle: %g\n",R2_);
printf("ellipse: %g\n",E_);
printf("circle: %g\n",C_);
示例(HDevelop)
* 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)
示例(HDevelop)
* 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)
示例(HDevelop)
* 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)
结果
The operator circularity circularity Circularity Circularity Circularity 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 set_system('no_object_result',<Result>) set_system("no_object_result",<Result>) SetSystem("no_object_result",<Result>) SetSystem("no_object_result",<Result>) SetSystem("no_object_result",<Result>) 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>) set_system("empty_region_result",<Result>) SetSystem("empty_region_result",<Result>) SetSystem("empty_region_result",<Result>) SetSystem("empty_region_result",<Result>) set_system("empty_region_result",<Result>) .
If necessary an exception is raised.
可能的前置算子
threshold threshold Threshold Threshold Threshold threshold ,
regiongrowing regiongrowing Regiongrowing Regiongrowing Regiongrowing regiongrowing ,
connection connection Connection Connection Connection connection
替代算子
roundness roundness Roundness Roundness Roundness roundness ,
compactness compactness Compactness Compactness Compactness compactness ,
convexity convexity Convexity Convexity Convexity convexity ,
eccentricity eccentricity Eccentricity Eccentricity Eccentricity eccentricity
另见
area_center area_center AreaCenter AreaCenter AreaCenter area_center ,
select_shape select_shape SelectShape SelectShape SelectShape select_shape
模块
Foundation