circularity_xldcircularity_xldCircularityXldCircularityXldcircularity_xld圆形度扩展线描述(算子)
名称
circularity_xldcircularity_xldCircularityXldCircularityXldcircularity_xld — 轮廓或多边形的圆形度(与圆的相似性)的形状因子。
签名
def circularity_xld(xld: HObject) -> Sequence[float]
def circularity_xld_s(xld: HObject) -> float
描述
算子 circularity_xldcircularity_xldCircularityXldCircularityXldCircularityXldcircularity_xld 计算每个输入轮廓或多边形与圆的相似度。输入轮廓或多边形不得自相交,否则计算结果将失去意义(可通过 test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXldTestSelfIntersectionXldtest_self_intersection_xld 判断输入轮廓或多边形是否自相交)。若输入轮廓或多边形未闭合,系统将自动闭合。
计算:
若 F 为轮廓或多边形的封闭面积,max 为中心到所有轮廓或多边形像素点的最大距离,则形状因子 CircularityCircularityCircularityCircularitycircularitycircularity 圆形度定义为:
圆的形状因子 CircularityCircularityCircularityCircularitycircularitycircularity 为 1。若轮廓或多边形围成的区域呈拉长状,则 CircularityCircularityCircularityCircularitycircularitycircularity 小于1。circularity_xldcircularity_xldCircularityXldCircularityXldCircularityXldcircularity_xld 算子尤其能响应大型凸起。
若传递多个轮廓或多边形,形状因子的数值将按其在 XLDXLDXLDXLDXLDxld 中对应轮廓或多边形的顺序存储于元组中。
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 在元组级别上自动并行化。
参数
XLDXLDXLDXLDXLDxld (输入对象) xld(-array) → objectHXLDHObjectHXLDHobject
待检查的轮廓或多边形。
CircularityCircularityCircularityCircularitycircularitycircularity (输出控制) real(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
输入轮廓或多边形的圆度。
断言:
0 <= Circularity && Circularity <= 1.0
结果
算子 circularity_xldcircularity_xldCircularityXldCircularityXldCircularityXldcircularity_xld 在输入不为空时返回值 2 (H_MSG_TRUE)。当输入为空(无可用输入轮廓)时,可设置行为通过算子 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>)。如有必要,则抛出异常。
可能的前趋
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
替代
compactness_xldcompactness_xldCompactnessXldCompactnessXldCompactnessXldcompactness_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
模块
基础