convexity_xldconvexity_xldConvexityXldConvexityXldconvexity_xld凸度扩展线描述(算子)
名称
convexity_xldconvexity_xldConvexityXldConvexityXldconvexity_xld — 轮廓或多边形凸度的形状因子。
签名
def convexity_xld(xld: HObject) -> Sequence[float]
def convexity_xld_s(xld: HObject) -> float
描述
算子 convexity_xldconvexity_xldConvexityXldConvexityXldConvexityXldconvexity_xld 计算每个输入轮廓或多边形的凸度。输入轮廓或多边形不得自相交,否则生成的参数将失去意义(可通过 test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXldTestSelfIntersectionXldtest_self_intersection_xld 判断输入轮廓或多边形是否自相交)。如果输入的轮廓或多边形未闭合,系统将自动将其闭合。
计算:
若 为凸包的面积, 为原始轮廓或多边形所围成的面积,则形状因子 ConvexityConvexityConvexityConvexityconvexityconvexity 定义为:
形状因子 ConvexityConvexityConvexityConvexityconvexityconvexity 为 1 时,表示轮廓或多边形为凸形(例如矩形、圆形等)。若存在凹陷,则 ConvexityConvexityConvexityConvexityconvexityconvexity 小于 1。
若传递多个轮廓或多边形,形状因子的数值结果将按其在 XLDXLDXLDXLDXLDxld 中的对应轮廓或多边形顺序存储于元组中。
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 在元组级别上自动并行化。
参数
XLDXLDXLDXLDXLDxld (输入对象) xld(-array) → objectHXLDHObjectHXLDHobject
待检查的轮廓或多边形。
ConvexityConvexityConvexityConvexityconvexityconvexity (输出控制) real(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
输入轮廓或多边形的凸度。
断言:
Convexity <= 1
结果
算子 convexity_xldconvexity_xldConvexityXldConvexityXldConvexityXldconvexity_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
另见
area_center_xldarea_center_xldAreaCenterXldAreaCenterXldAreaCenterXldarea_center_xld,
select_shape_xldselect_shape_xldSelectShapeXldSelectShapeXldSelectShapeXldselect_shape_xld,
shape_trans_xldshape_trans_xldShapeTransXldShapeTransXldShapeTransXldshape_trans_xld
模块
基础