circularity_xldcircularity_xldCircularityXldCircularityXldcircularity_xld圆形度扩展线描述(算子)

名称

circularity_xldcircularity_xldCircularityXldCircularityXldcircularity_xld — 轮廓或多边形的圆形度(与圆的相似性)的形状因子。

签名

circularity_xld(XLD : : : Circularity)

Herror circularity_xld(const Hobject XLD, double* Circularity)

Herror T_circularity_xld(const Hobject XLD, Htuple* Circularity)

void CircularityXld(const HObject& XLD, HTuple* Circularity)

HTuple HXLD::CircularityXld() const

static void HOperatorSet.CircularityXld(HObject XLD, out HTuple circularity)

HTuple HXLD.CircularityXld()

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

模块

基础