compactnesscompactnessCompactnessCompactnesscompactness(算子)

名称

compactnesscompactnessCompactnessCompactnesscompactness — 区域紧凑性的形状系数。

签名

compactness(Regions : : : Compactness)

Herror compactness(const Hobject Regions, double* Compactness)

Herror T_compactness(const Hobject Regions, Htuple* Compactness)

void Compactness(const HObject& Regions, HTuple* Compactness)

HTuple HRegion::Compactness() const

static void HOperatorSet.Compactness(HObject regions, out HTuple compactness)

HTuple HRegion.Compactness()

def compactness(regions: HObject) -> Sequence[float]

def compactness_s(regions: HObject) -> float

描述

算子 compactnesscompactnessCompactnessCompactnessCompactnesscompactness calculates the compactness of the input regions.

Calculation:

If L is the length of the contour (see contlengthcontlengthContlengthContlengthContlengthcontlength) and F the area of the region the shape factor C is defined as:

C = max(1,C')

In the documentation of this chapter (Regions / Features), you can find an image illustrating regions which vary in their compactness.

The shape factor C of a circle is 1. If the region is long or has holes C is larger than 1. The operator compactnesscompactnessCompactnessCompactnessCompactnesscompactness responds to the course of the contour (roughness) and to holes. The value of C is clipped to 1.0, because the pixel area of a region can only be an approximation of a real circle's area. This approximation error is bigger for small regions than for large regions.

In case of an empty region the operator compactnesscompactnessCompactnessCompactnessCompactnesscompactness returns the value 0 if no other behavior was set (see set_systemset_systemSetSystemSetSystemSetSystemset_system). If more than one region is passed the numerical values of the shape factor are stored in a tuple, the position of a value in the tuple corresponding to the position of the region in the input tuple.

执行信息

参数

RegionsRegionsRegionsRegionsregionsregions (输入对象)  region(-array) objectHRegionHObjectHRegionHobject

待检查的区域。

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

Compactness of the input region(s).

Assertion: Compactness >= 1.0 || Compactness == 0

结果

算子 compactnesscompactnessCompactnessCompactnessCompactnesscompactness 在输入不为空时返回值 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>)。空区域(区域是空集)的情况下的可设置行为通过 set_system('empty_region_result',<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)set_system("empty_region_result",<Result>)。如有必要,则抛出异常。

可能的前趋

thresholdthresholdThresholdThresholdThresholdthreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowingregiongrowing, connectionconnectionConnectionConnectionConnectionconnection

替代

convexityconvexityConvexityConvexityConvexityconvexity, eccentricityeccentricityEccentricityEccentricityEccentricityeccentricity

另见

contlengthcontlengthContlengthContlengthContlengthcontlength, area_centerarea_centerAreaCenterAreaCenterAreaCenterarea_center, select_shapeselect_shapeSelectShapeSelectShapeSelectShapeselect_shape

模块

基础