compactness_xldcompactness_xldCompactnessXldCompactnessXldcompactness_xld紧凑性扩展线描述(算子)

名称

compactness_xldcompactness_xldCompactnessXldCompactnessXldcompactness_xld — 轮廓或多边形紧凑性的形状因子。

签名

compactness_xld(XLD : : : Compactness)

Herror compactness_xld(const Hobject XLD, double* Compactness)

Herror T_compactness_xld(const Hobject XLD, Htuple* Compactness)

void CompactnessXld(const HObject& XLD, HTuple* Compactness)

HTuple HXLD::CompactnessXld() const

static void HOperatorSet.CompactnessXld(HObject XLD, out HTuple compactness)

HTuple HXLD.CompactnessXld()

def compactness_xld(xld: HObject) -> Sequence[float]

def compactness_xld_s(xld: HObject) -> float

描述

算子 compactness_xldcompactness_xldCompactnessXldCompactnessXldCompactnessXldcompactness_xld 计算 XLDXLDXLDXLDXLDxld 中每个输入轮廓或多边形的紧凑性。输入轮廓或多边形不得自相交,否则生成的参数将失去意义(可通过 test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXldTestSelfIntersectionXldtest_self_intersection_xld 判断输入轮廓或多边形是否自相交)。如果输入的轮廓或多边形未闭合,系统将自动将其闭合。

计算: 若 L 为轮廓或多边形的长度,F 为其围成的面积,则形状因子 CompactnessCompactnessCompactnessCompactnesscompactnesscompactness 定义为: 圆的形状因子 CompactnessCompactnessCompactnessCompactnesscompactnesscompactness 为 1。若轮廓或多边形包围的是细长区域,其 CompactnessCompactnessCompactnessCompactnesscompactnesscompactness 大于 1。算子 compactness_xldcompactness_xldCompactnessXldCompactnessXldCompactnessXldcompactness_xld 响应轮廓或多边形的走向(粗糙度)。若传递多个轮廓或多边形,形状因子将按 XLDXLDXLDXLDXLDxld 中对应轮廓或多边形的顺序存储于元组中。

执行信息

参数

XLDXLDXLDXLDXLDxld (输入对象)  xld(-array) objectHXLDHObjectHXLDHobject

待检查的轮廓或多边形。

CompactnessCompactnessCompactnessCompactnesscompactnesscompactness (输出控制)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

输入轮廓或多边形的紧凑性。

断言: Compactness >= 1.0 || Compactness == 0

结果

算子 compactness_xldcompactness_xldCompactnessXldCompactnessXldCompactnessXldcompactness_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

替代

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

模块

基础