KlassenKlassenKlassenKlassen | | | | Operatoren

erosion1erosion1Erosion1erosion1Erosion1Erosion1 (Operator)

Name

erosion1erosion1Erosion1erosion1Erosion1Erosion1 — Verdünnen von Regionen.

Signatur

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)

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

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

HRegionArray HRegionArray::Erosion1(const HRegion& StructElement, const HTuple& Iterations) const

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

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

void HOperatorSetX.Erosion1(
[in] IHUntypedObjectX* Region, [in] IHUntypedObjectX* StructElement, [out] IHUntypedObjectX*RegionErosion, [in] VARIANT Iterations)

IHRegionX* HRegionX.Erosion1(
[in] IHRegionX* StructElement, [in] Hlong Iterations)

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

HRegion HRegion.Erosion1(HRegion structElement, int iterations)

Beschreibung

erosion1erosion1Erosion1erosion1Erosion1Erosion1 berechnet die Erosion der Eingaberegionen mit einem strukturierenden Element. Die Anwendung von erosion1erosion1Erosion1erosion1Erosion1Erosion1 glättet die Ränder der Regionen. Gleichzeitig verkleinert sich die Fläche dieser Regionen. Darüberhinaus kann es vorkommen, dass vorher zusammenhängende Regionen getrennt werden. Dennoch bleiben solche Regionen logisch eine Region. Die Erosion ist eine mengentheoretische Regionenoperation. Sie verwendet die Operation Durchschnitt.

Seien M (StructElementStructElementStructElementStructElementStructElementstructElement) und R (RegionRegionRegionRegionRegionregion) Regionen, wobei M das „strukturierende Element“ und R die zu verarbeitende Region darstellt. Sei weiterhin m ein Punkt aus M, dann wird der Verschiebungsvektor definiert als die Differenz des Schwerpunktvektors von M mit dem Vektor . Die Translation einer Region R um einen Vektor sei mit bezeichnet. Dann ist

Es wird für jeden Punkt aus M eine Translation mit der Region R durchgeführt. Der Durchschnitt über all diesen Verschiebungen ist die Erosion der Region R mit M. erosion1erosion1Erosion1erosion1Erosion1Erosion1 entspricht dem Operator minkowski_sub1minkowski_sub1MinkowskiSub1minkowski_sub1MinkowskiSub1MinkowskiSub1 mit dem Unterschied, dass bei erosion1erosion1Erosion1erosion1Erosion1Erosion1 das strukturierende Element punktgespiegelt wird. Die Position von StructElementStructElementStructElementStructElementStructElementstructElement ist ohne Bedeutung, da die Verschiebungsvektoren bzgl. des Schwerpunktes bestimmt werden.

Der Parameter IterationsIterationsIterationsIterationsIterationsiterations bezeichnet die Anzahl der Iterationen, die mit dem strukturierenden Element ausgeführt werden sollen. Als Eingaberegion für die n-te Iteration wird die Ergebnisregion der (n-1)-ten Iteration verwendet. Bei Verwendung eines leeren strukturierenden Elementes wird die maximale Region erzeugt.

Strukturierende Elemente (StructElementStructElementStructElementStructElementStructElementstructElement) können mit Operatoren wie gen_circlegen_circleGenCirclegen_circleGenCircleGenCircle, gen_rectangle1gen_rectangle1GenRectangle1gen_rectangle1GenRectangle1GenRectangle1, gen_rectangle2gen_rectangle2GenRectangle2gen_rectangle2GenRectangle2GenRectangle2, gen_ellipsegen_ellipseGenEllipsegen_ellipseGenEllipseGenEllipse, draw_regiondraw_regionDrawRegiondraw_regionDrawRegionDrawRegion, gen_region_polygongen_region_polygonGenRegionPolygongen_region_polygonGenRegionPolygonGenRegionPolygon, gen_region_pointsgen_region_pointsGenRegionPointsgen_region_pointsGenRegionPointsGenRegionPoints, etc. erzeugt werden.

Parallelisierung

Parameter

RegionRegionRegionRegionRegionregion (input_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject

Regionen die verarbeitet werden sollen.

StructElementStructElementStructElementStructElementStructElementstructElement (input_object)  region objectHRegionHRegionHRegionHRegionXHobject

Strukturierendes Element für die Erosion.

RegionErosionRegionErosionRegionErosionRegionErosionRegionErosionregionErosion (output_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject *

Ergebnis der Erosion.

IterationsIterationsIterationsIterationsIterationsiterations (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Anzahl der Iterationen.

Defaultwert: 1

Wertevorschläge: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 15, 17, 20, 30, 40, 50

Typischer Wertebereich: 1 ≤ Iterations Iterations Iterations Iterations Iterations iterations (lin)

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

Komplexität

Sei F1 die Fläche einer Eingaberegion und F2 die Fläche des strukturierenden Elementes, dann ist die Laufzeitkomplexität für eine Region:

Ergebnis

Bei korrekter Parametrisierung liefert die Funktion erosion1erosion1Erosion1erosion1Erosion1Erosion1 den Wert 2 (H_MSG_TRUE). Das Funktionsverhalten für die beiden Fälle leere und keine Eingaberegion lässt sich wie folgt kontrollieren:

Andernfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

thresholdthresholdThresholdthresholdThresholdThreshold, regiongrowingregiongrowingRegiongrowingregiongrowingRegiongrowingRegiongrowing, watershedswatershedsWatershedswatershedsWatershedsWatersheds, class_ndim_normclass_ndim_normClassNdimNormclass_ndim_normClassNdimNormClassNdimNorm, gen_circlegen_circleGenCirclegen_circleGenCircleGenCircle, gen_ellipsegen_ellipseGenEllipsegen_ellipseGenEllipseGenEllipse, gen_rectangle1gen_rectangle1GenRectangle1gen_rectangle1GenRectangle1GenRectangle1, gen_rectangle2gen_rectangle2GenRectangle2gen_rectangle2GenRectangle2GenRectangle2, draw_regiondraw_regionDrawRegiondraw_regionDrawRegionDrawRegion, gen_region_pointsgen_region_pointsGenRegionPointsgen_region_pointsGenRegionPointsGenRegionPoints, gen_region_polygon_filledgen_region_polygon_filledGenRegionPolygonFilledgen_region_polygon_filledGenRegionPolygonFilledGenRegionPolygonFilled

Nachfolger

connectionconnectionConnectionconnectionConnectionConnection, reduce_domainreduce_domainReduceDomainreduce_domainReduceDomainReduceDomain, select_shapeselect_shapeSelectShapeselect_shapeSelectShapeSelectShape, area_centerarea_centerAreaCenterarea_centerAreaCenterAreaCenter

Alternativen

minkowski_sub1minkowski_sub1MinkowskiSub1minkowski_sub1MinkowskiSub1MinkowskiSub1, minkowski_sub2minkowski_sub2MinkowskiSub2minkowski_sub2MinkowskiSub2MinkowskiSub2, erosion2erosion2Erosion2erosion2Erosion2Erosion2

Siehe auch

transpose_regiontranspose_regionTransposeRegiontranspose_regionTransposeRegionTransposeRegion

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren