dilation1
— Ausdehnen von Regionen.
dilation1(Region, StructElement : RegionDilation : Iterations : )
dilation1
berechnet die Dilatation der Eingaberegionen
mit einem strukturierenden Element. Die Anwendung von
dilation1
glättet die Ränder der Regionen.
Gleichzeitig vergrößert sich die Fläche dieser Regionen.
Darüberhinaus kann es vorkommen, dass vorher nicht
zusammenhängende Regionen verschmolzen werden. Dennoch bleiben
solche Regionen logisch verschiedene Region. Die Dilatation ist
eine mengentheoretische Regionenoperation. Sie verwendet die
Operation Vereinigung.
Seien M (StructElement
) und R (Region
)
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 m in M eine Translation mit der Region
R durchgeführt. Die Vereinigung über all diese Verschiebungen
ist die Dilatation der Region R mit M. dilation1
entspricht dem Operator minkowski_add1
mit dem
Unterschied, dass bei dilation1
das strukturierende
Element punktgespiegelt wird. Die Position von
StructElement
ist ohne Bedeutung, da die
Verschiebungsvektoren bzgl. des Schwerpunktes bestimmt werden.
Der Parameter Iterations
bezeichnet die Anzahl der
Iterationen, die mit dem strukturierenden Elemente ausgeführt
werden sollen. Als Eingaberegion für die Iteration n wird die
Ergebnisregion der Iteration (n-1) verwendet. Aus der obigen
Definition ergibt sich, dass bei einem leeren strukturierenden
Element eine leere Region erzeugt wird.
Strukturierende Elemente (StructElement
) können mit
Operatoren wie gen_circle
, gen_rectangle1
,
gen_rectangle2
, gen_ellipse
,
draw_region
, gen_region_polygon
,
gen_region_points
etc. erzeugt werden.
Eine Dilatation führt grundsätzlich zu einer Vergrößerung der
Regionen. Eng benachbarte Regionen, die nach Ausführung des
Operators zusammenstoßen oder sich überlappen, werden weiterhin als
zwei getrennte Regionen behandelt. Um eine Vereinigung zweier
Regionen zu erreichen muss zuerst ein union1
durchgeführt werden.
Region
(input_object) region(-array) →
object
Regionen,die verarbeitet werden sollen.
StructElement
(input_object) region →
object
Strukturierendes Element.
RegionDilation
(output_object) region(-array) →
object
Ergebnis der Dilation-Operation.
Iterations
(input_control) integer →
(integer)
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
(lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 1
Sei F1 die Fläche einer Eingaberegion und F2 die Fläche des strukturierenden Elementes, dann ist die Laufzeitkomplexität für ein Objekt:
Bei korrekter Parametrisierung liefert die Funktion
dilation1
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>)
leere Region: set_system('empty_region_result',<RegionResult>)
Andernfalls wird eine Fehlerbehandlung durchgeführt.
threshold
,
regiongrowing
,
connection
,
union1
,
watersheds
,
class_ndim_norm
,
gen_circle
,
gen_ellipse
,
gen_rectangle1
,
gen_rectangle2
,
draw_region
,
gen_region_points
,
gen_region_polygon_filled
reduce_domain
,
add_channels
,
select_shape
,
area_center
,
connection
minkowski_add1
,
minkowski_add2
,
dilation2
erosion1
,
erosion2
,
opening
,
closing
Foundation