dilation_rectangle1dilation_rectangle1DilationRectangle1DilationRectangle1DilationRectangle1 führt eine Dilatation auf der/den
angegebenen Region(en) RegionRegionRegionRegionregion durch. Das strukturierende
Element für diese Operation bildet ein Rechteck mit der Größe
WidthWidthWidthWidthwidth x HeightHeightHeightHeightheight. Die Funktion führt
zu einer Expansion der Region und zum Schließen von Löchern, die
kleiner als das angegebene Rechteck sind, innerhalb der Regionen.
dilation_rectangle1dilation_rectangle1DilationRectangle1DilationRectangle1DilationRectangle1 ist eine sehr schnelle Operation, da die
Höhe des Rechtecks nur logarithmisch, die Breite gar nicht in die
Komplexita"t eingeht. Dies führt auch bei sehr großen Rechtecken
(Kante > 100) zu einem sehr gutem Laufzeitverhalten.
Achtung
dilation_rectangle1dilation_rectangle1DilationRectangle1DilationRectangle1DilationRectangle1 wird für jede Region einzeln
angewandt. Sollen Lücken zwischen den Regionen geschlossen werden,
dann muss vorher ein union1union1Union1Union1Union1 oder union2union2Union2Union2Union2
ausgeführt werden.
Damit eine Region in alle Richtungen gleichmäßig vergrößert wird,
müssen WidthWidthWidthWidthwidth und HeightHeightHeightHeightheight ungerade sein. Falls das
nicht der Fall ist, wird die Region rechts bzw. unten um ein Pixel
weiter dilatiert als nach links bzw. oben.
Ausführungsinformationen
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
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
dilation_rectangle1dilation_rectangle1DilationRectangle1DilationRectangle1DilationRectangle1 den Wert 2 (H_MSG_TRUE). Das
Funktionsverhalten für die beiden Fälle leere und keine
Eingaberegion lässt sich wie folgt kontrollieren:
keine Region:
set_system('no_object_result',<RegionResult>)