KlassenKlassenKlassenKlassen | | | | Operatoren

erosion_rectangle1erosion_rectangle1ErosionRectangle1erosion_rectangle1ErosionRectangle1ErosionRectangle1 (Operator)

Name

erosion_rectangle1erosion_rectangle1ErosionRectangle1erosion_rectangle1ErosionRectangle1ErosionRectangle1 — Ausführen einer Erosion mit einem Rechteck.

Signatur

erosion_rectangle1(Region : RegionErosion : Width, Height : )

Herror erosion_rectangle1(const Hobject Region, Hobject* RegionErosion, const Hlong Width, const Hlong Height)

Herror T_erosion_rectangle1(const Hobject Region, Hobject* RegionErosion, const Htuple Width, const Htuple Height)

Herror erosion_rectangle1(Hobject Region, Hobject* RegionErosion, const HTuple& Width, const HTuple& Height)

HRegion HRegion::ErosionRectangle1(const HTuple& Width, const HTuple& Height) const

HRegionArray HRegionArray::ErosionRectangle1(const HTuple& Width, const HTuple& Height) const

void ErosionRectangle1(const HObject& Region, HObject* RegionErosion, const HTuple& Width, const HTuple& Height)

HRegion HRegion::ErosionRectangle1(Hlong Width, Hlong Height) const

void HOperatorSetX.ErosionRectangle1(
[in] IHUntypedObjectX* Region, [out] IHUntypedObjectX*RegionErosion, [in] VARIANT Width, [in] VARIANT Height)

IHRegionX* HRegionX.ErosionRectangle1(
[in] Hlong Width, [in] Hlong Height)

static void HOperatorSet.ErosionRectangle1(HObject region, out HObject regionErosion, HTuple width, HTuple height)

HRegion HRegion.ErosionRectangle1(int width, int height)

Beschreibung

erosion_rectangle1erosion_rectangle1ErosionRectangle1erosion_rectangle1ErosionRectangle1ErosionRectangle1 führt eine Erosion auf der/den angegebenen Region(en) RegionRegionRegionRegionRegionregion durch. Das strukturierende Element für diese Operation bildet ein Rechteck mit den Größenparametern WidthWidthWidthWidthWidthwidth und HeightHeightHeightHeightHeightheight. Die Funktion führt zu einer Verkleinerung der Region.

erosion_rectangle1erosion_rectangle1ErosionRectangle1erosion_rectangle1ErosionRectangle1ErosionRectangle1 ist eine sehr schnelle Operation, da die Höhe des Rechtecks nur logarithmisch, die Breite gar nicht in die Komplexität eingeht. Dies führt auch bei sehr großen Rechtecken (Kante > 100) zu einem sehr gutem Laufzeitverhalten.

Regionen, die schmale Verbindungsstege zwischen größeren Flächen besitzen werden zwar optisch getrennt, jedoch bleibt die Region logisch als eine Region erhalten.

Achtung

Damit eine Region in alle Richtungen gleichmäßig verkleinert wird, müssen WidthWidthWidthWidthWidthwidth und HeightHeightHeightHeightHeightheight ungerade sein. Falls das nicht der Fall ist, wird die Region rechts bzw. unten um ein Pixel weiter dilatiert als nach bzw. oben.

Parallelisierung

Parameter

RegionRegionRegionRegionRegionregion (input_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject

Regionen die verarbeitet werden sollen.

RegionErosionRegionErosionRegionErosionRegionErosionRegionErosionregionErosion (output_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject *

Ergebnis der Erosions-Operation.

WidthWidthWidthWidthWidthwidth (input_control)  extent.x HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Breite des Rechtecks.

Defaultwert: 11

Wertevorschläge: 1, 2, 3, 4, 5, 11, 15, 21, 31, 51, 71, 101, 151, 201

Typischer Wertebereich: 1 ≤ Width Width Width Width Width width ≤ 511 (lin)

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

HeightHeightHeightHeightHeightheight (input_control)  extent.y HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Höhe des Rechtecks.

Defaultwert: 11

Wertevorschläge: 1, 2, 3, 4, 5, 11, 15, 21, 31, 51, 71, 101, 151, 201

Typischer Wertebereich: 1 ≤ Height Height Height Height Height height ≤ 511 (lin)

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

Komplexität

Sei F1 die Fläche einer Eingaberegion und H die Höhe des Rechtecks, dann ist die Laufzeitkomplexität für eine Region:

Ergebnis

Bei korrekter Parametrisierung liefert die Funktion erosion_rectangle1erosion_rectangle1ErosionRectangle1erosion_rectangle1ErosionRectangle1ErosionRectangle1 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

Nachfolger

reduce_domainreduce_domainReduceDomainreduce_domainReduceDomainReduceDomain, select_shapeselect_shapeSelectShapeselect_shapeSelectShapeSelectShape, area_centerarea_centerAreaCenterarea_centerAreaCenterAreaCenter, connectionconnectionConnectionconnectionConnectionConnection

Alternativen

erosion1erosion1Erosion1erosion1Erosion1Erosion1, minkowski_sub1minkowski_sub1MinkowskiSub1minkowski_sub1MinkowskiSub1MinkowskiSub1

Siehe auch

gen_rectangle1gen_rectangle1GenRectangle1gen_rectangle1GenRectangle1GenRectangle1

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren