erosion1erosion1Erosion1Erosion1erosion1 (算子)

名称

erosion1erosion1Erosion1Erosion1erosion1 — 腐蚀一个区域。

签名

erosion1(Region, StructElement : RegionErosion : Iterations : )

Herror erosion1(const Hobject Region, const Hobject StructElement, Hobject* RegionErosion, const Hlong Iterations)

Herror T_erosion1(const Hobject Region, const Hobject StructElement, Hobject* RegionErosion, const Htuple Iterations)

void Erosion1(const HObject& Region, const HObject& StructElement, HObject* RegionErosion, const HTuple& Iterations)

HRegion HRegion::Erosion1(const HRegion& StructElement, Hlong Iterations) const

static void HOperatorSet.Erosion1(HObject region, HObject structElement, out HObject regionErosion, HTuple iterations)

HRegion HRegion.Erosion1(HRegion structElement, int iterations)

def erosion1(region: HObject, struct_element: HObject, iterations: int) -> HObject

描述

erosion1erosion1Erosion1Erosion1Erosion1erosion1 erodes the input regions with a structuring element. By applying erosion1erosion1Erosion1Erosion1Erosion1erosion1 to a region, its boundary gets smoothed. In the process, the area of the region is reduced. Furthermore, connected regions may be split. Such regions, however, remain logically one region. The erosion is a set-theoretic region operation. It uses the intersection operation.

Let M (StructElementStructElementStructElementStructElementstructElementstruct_element) and R (RegionRegionRegionRegionregionregion) be two regions, where M is the structuring element and R is the region to be processed. Furthermore, let m be a point in M. Then the displacement vector is defined as the difference of the center of gravity of M and the vector . Let denote the translation of a region R by a vector . Then

For each point m in M a translation of the region R is performed. The intersection of all these translations is the erosion of R with M. erosion1erosion1Erosion1Erosion1Erosion1erosion1 is similar to the operator minkowski_sub1minkowski_sub1MinkowskiSub1MinkowskiSub1MinkowskiSub1minkowski_sub1, the difference is that in erosion1erosion1Erosion1Erosion1Erosion1erosion1 the structuring element is mirrored at the origin. The position of StructElementStructElementStructElementStructElementstructElementstruct_element is meaningless, since the displacement vectors are determined with respect to the center of gravity of M.

The parameter IterationsIterationsIterationsIterationsiterationsiterations determines the number of iterations which are to be performed with the structuring element. The result of iteration n-1 is used as input for iteration n. From the above definition it follows that the maximum region is generated in case of an empty structuring element.

Structuring elements (StructElementStructElementStructElementStructElementstructElementstruct_element) can be generated with operators such as gen_circlegen_circleGenCircleGenCircleGenCirclegen_circle, gen_rectangle1gen_rectangle1GenRectangle1GenRectangle1GenRectangle1gen_rectangle1, gen_rectangle2gen_rectangle2GenRectangle2GenRectangle2GenRectangle2gen_rectangle2, gen_ellipsegen_ellipseGenEllipseGenEllipseGenEllipsegen_ellipse, draw_regiondraw_regionDrawRegionDrawRegionDrawRegiondraw_region, gen_region_polygongen_region_polygonGenRegionPolygonGenRegionPolygonGenRegionPolygongen_region_polygon, gen_region_pointsgen_region_pointsGenRegionPointsGenRegionPointsGenRegionPointsgen_region_points, etc.

执行信息

参数

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

Regions to be eroded.

StructElementStructElementStructElementStructElementstructElementstruct_element (输入对象)  region objectHRegionHObjectHRegionHobject

Structuring element.

RegionErosionRegionErosionRegionErosionRegionErosionregionErosionregion_erosion (输出对象)  region(-array) objectHRegionHObjectHRegionHobject *

Eroded regions.

IterationsIterationsIterationsIterationsiterationsiterations (输入控制)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Number of iterations.

默认值: 1

建议值: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 15, 17, 20, 30, 40, 50

值范围: 1 ≤ Iterations Iterations Iterations Iterations iterations iterations (lin)

最小增量: 1

建议增量: 1

复杂度

Let F1 be the area of the input region, and F2 be the area of the structuring element. Then the runtime complexity for one region is:

结果

erosion1erosion1Erosion1Erosion1Erosion1erosion1 在所有参数正确时返回 2 ( H_MSG_TRUE )。当输入区域为空或不存在时,其行为可通过以下方式设置:

否则,将抛出异常。

可能的前趋

thresholdthresholdThresholdThresholdThresholdthreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowingregiongrowing, watershedswatershedsWatershedsWatershedsWatershedswatersheds, class_ndim_normclass_ndim_normClassNdimNormClassNdimNormClassNdimNormclass_ndim_norm, gen_circlegen_circleGenCircleGenCircleGenCirclegen_circle, gen_ellipsegen_ellipseGenEllipseGenEllipseGenEllipsegen_ellipse, gen_rectangle1gen_rectangle1GenRectangle1GenRectangle1GenRectangle1gen_rectangle1, gen_rectangle2gen_rectangle2GenRectangle2GenRectangle2GenRectangle2gen_rectangle2, draw_regiondraw_regionDrawRegionDrawRegionDrawRegiondraw_region, gen_region_pointsgen_region_pointsGenRegionPointsGenRegionPointsGenRegionPointsgen_region_points, gen_region_polygon_filledgen_region_polygon_filledGenRegionPolygonFilledGenRegionPolygonFilledGenRegionPolygonFilledgen_region_polygon_filled

可能的后继

connectionconnectionConnectionConnectionConnectionconnection, reduce_domainreduce_domainReduceDomainReduceDomainReduceDomainreduce_domain, select_shapeselect_shapeSelectShapeSelectShapeSelectShapeselect_shape, area_centerarea_centerAreaCenterAreaCenterAreaCenterarea_center

替代

minkowski_sub1minkowski_sub1MinkowskiSub1MinkowskiSub1MinkowskiSub1minkowski_sub1, minkowski_sub2minkowski_sub2MinkowskiSub2MinkowskiSub2MinkowskiSub2minkowski_sub2, erosion2erosion2Erosion2Erosion2Erosion2erosion2

另见

transpose_regiontranspose_regionTransposeRegionTransposeRegionTransposeRegiontranspose_region

模块

基础