compactness_xldcompactness_xldCompactnessXldCompactnessXldcompactness_xld (算子名称)
名称
compactness_xldcompactness_xldCompactnessXldCompactnessXldcompactness_xld
— Shape factor for the compactness of contours or polygons.
参数签名
def compactness_xld(xld: HObject) -> Sequence[float]
def compactness_xld_s(xld: HObject) -> float
描述
The operator compactness_xldcompactness_xldCompactnessXldCompactnessXldCompactnessXldcompactness_xld
calculates the compactness of each
input contour or polygon in XLDXLDXLDXLDXLDxld
. The input contour or polygon must
not intersect itself, otherwise the resulting parameter is not meaningful
(Whether the input contour or polygon intersects itself or not can be
determined with test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXldTestSelfIntersectionXldtest_self_intersection_xld
). If
the input contour or polygon is not closed it will be closed automatically.
Calculation:
If L is the length and F the
enclosed area of the contour or polygon the shape
factor CompactnessCompactnessCompactnessCompactnesscompactnesscompactness
is defined as:
The shape factor CompactnessCompactnessCompactnessCompactnesscompactnesscompactness
of a circle is 1.
If the contour or polygon encloses an elongated area CompactnessCompactnessCompactnessCompactnesscompactnesscompactness
is larger than 1. The operator compactness_xldcompactness_xldCompactnessXldCompactnessXldCompactnessXldcompactness_xld
responds to the
course of the contour or polygon (roughness).
If more than one contour or polygon is passed, the shape factors are stored
in a tuple in the same order as the respective contours or polygons in
XLDXLDXLDXLDXLDxld
.
运行信息
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on tuple level.
参数表
XLDXLDXLDXLDXLDxld
(input_object) xld(-array) →
objectHXLDHObjectHXLDHobject
Contours or polygons to be examined.
CompactnessCompactnessCompactnessCompactnesscompactnesscompactness
(output_control) real(-array) →
HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Compactness of the input contours or polygons.
Assertion:
Compactness >= 1.0 || Compactness == 0
结果
The operator compactness_xldcompactness_xldCompactnessXldCompactnessXldCompactnessXldcompactness_xld
returns the value 2 (
H_MSG_TRUE)
if the input is not empty.
The behavior in case of empty input (no input contours 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>)
.
If necessary an exception is raised.
可能的前置算子
gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXldGenContoursSkeletonXldgen_contours_skeleton_xld
,
edges_sub_pixedges_sub_pixEdgesSubPixEdgesSubPixEdgesSubPixedges_sub_pix
,
threshold_sub_pixthreshold_sub_pixThresholdSubPixThresholdSubPixThresholdSubPixthreshold_sub_pix
,
gen_contour_polygon_xldgen_contour_polygon_xldGenContourPolygonXldGenContourPolygonXldGenContourPolygonXldgen_contour_polygon_xld
,
test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXldTestSelfIntersectionXldtest_self_intersection_xld
可替代算子
circularity_xldcircularity_xldCircularityXldCircularityXldCircularityXldcircularity_xld
,
convexity_xldconvexity_xldConvexityXldConvexityXldConvexityXldconvexity_xld
,
eccentricity_xldeccentricity_xldEccentricityXldEccentricityXldEccentricityXldeccentricity_xld
,
rectangularity_xldrectangularity_xldRectangularityXldRectangularityXldRectangularityXldrectangularity_xld
参考其它
area_center_xldarea_center_xldAreaCenterXldAreaCenterXldAreaCenterXldarea_center_xld
,
select_shape_xldselect_shape_xldSelectShapeXldSelectShapeXldSelectShapeXldselect_shape_xld
模块
Foundation