minkowski_add1minkowski_add1MinkowskiAdd1MinkowskiAdd1 (Operator)

Name

minkowski_add1minkowski_add1MinkowskiAdd1MinkowskiAdd1 — Ausdehnen von Regionen.

Signatur

minkowski_add1(Region, StructElement : RegionMinkAdd : Iterations : )

Herror minkowski_add1(const Hobject Region, const Hobject StructElement, Hobject* RegionMinkAdd, const Hlong Iterations)

Herror T_minkowski_add1(const Hobject Region, const Hobject StructElement, Hobject* RegionMinkAdd, const Htuple Iterations)

void MinkowskiAdd1(const HObject& Region, const HObject& StructElement, HObject* RegionMinkAdd, const HTuple& Iterations)

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

static void HOperatorSet.MinkowskiAdd1(HObject region, HObject structElement, out HObject regionMinkAdd, HTuple iterations)

HRegion HRegion.MinkowskiAdd1(HRegion structElement, int iterations)

Beschreibung

minkowski_add1minkowski_add1MinkowskiAdd1MinkowskiAdd1MinkowskiAdd1 berechnet die Minkowski-Addition der Eingaberegionen mit einem strukturierenden Element. Die Anwendung von minkowski_add1minkowski_add1MinkowskiAdd1MinkowskiAdd1MinkowskiAdd1 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 Minkowski-Addition ist eine mengentheoretische Regionenoperation. Sie basiert auf Translation und Vereinigung.

Seien M StructElementStructElementStructElementStructElementstructElement und R (RegionRegionRegionRegionregion) 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. Der Unterschied zwischen minkowski_add1minkowski_add1MinkowskiAdd1MinkowskiAdd1MinkowskiAdd1 und dilation1dilation1Dilation1Dilation1Dilation1 ist die Punktspiegelung des strukturierenden Elements (Negation des Verschiebungsvektors) bei dilation1dilation1Dilation1Dilation1Dilation1. Die Position von StructElementStructElementStructElementStructElementstructElement ist ohne Bedeutung, da die Verschiebungsvektoren bzgl. des Schwerpunktes bestimmt werden.

Der Parameter IterationsIterationsIterationsIterationsiterations 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. Aus der obigen Definition ergibt sich, dass bei einem leeren strukturierenden Element eine leere Region erzeugt wird.

Strukturierende Elemente (StructElementStructElementStructElementStructElementstructElement) können mit Operatoren wie gen_circlegen_circleGenCircleGenCircleGenCircle, gen_rectangle1gen_rectangle1GenRectangle1GenRectangle1GenRectangle1, gen_rectangle2gen_rectangle2GenRectangle2GenRectangle2GenRectangle2, gen_ellipsegen_ellipseGenEllipseGenEllipseGenEllipse, draw_regiondraw_regionDrawRegionDrawRegionDrawRegion, gen_region_polygongen_region_polygonGenRegionPolygonGenRegionPolygonGenRegionPolygon, gen_region_pointsgen_region_pointsGenRegionPointsGenRegionPointsGenRegionPoints etc. erzeugt werden.

Achtung

Eine Minkowski-Addition 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 union1union1Union1Union1Union1 durchgeführt werden.

Ausführungsinformationen

Parameter

RegionRegionRegionRegionregion (input_object)  region(-array) objectHRegionHRegionHobject

Regionen die verarbeitet werden sollen.

StructElementStructElementStructElementStructElementstructElement (input_object)  region objectHRegionHRegionHobject

Strukturierendes Element.

RegionMinkAddRegionMinkAddRegionMinkAddRegionMinkAddregionMinkAdd (output_object)  region(-array) objectHRegionHRegionHobject *

Ergebnis der Minkowski-Addition.

IterationsIterationsIterationsIterationsiterations (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (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 (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 ein Objekt:

Ergebnis

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

thresholdthresholdThresholdThresholdThreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowing, connectionconnectionConnectionConnectionConnection, union1union1Union1Union1Union1, watershedswatershedsWatershedsWatershedsWatersheds, class_ndim_normclass_ndim_normClassNdimNormClassNdimNormClassNdimNorm, gen_circlegen_circleGenCircleGenCircleGenCircle, gen_ellipsegen_ellipseGenEllipseGenEllipseGenEllipse, gen_rectangle1gen_rectangle1GenRectangle1GenRectangle1GenRectangle1, gen_rectangle2gen_rectangle2GenRectangle2GenRectangle2GenRectangle2, draw_regiondraw_regionDrawRegionDrawRegionDrawRegion, gen_region_pointsgen_region_pointsGenRegionPointsGenRegionPointsGenRegionPoints, gen_region_polygon_filledgen_region_polygon_filledGenRegionPolygonFilledGenRegionPolygonFilledGenRegionPolygonFilled

Nachfolger

reduce_domainreduce_domainReduceDomainReduceDomainReduceDomain, select_shapeselect_shapeSelectShapeSelectShapeSelectShape, area_centerarea_centerAreaCenterAreaCenterAreaCenter, connectionconnectionConnectionConnectionConnection

Alternativen

minkowski_add2minkowski_add2MinkowskiAdd2MinkowskiAdd2MinkowskiAdd2, dilation1dilation1Dilation1Dilation1Dilation1

Siehe auch

transpose_regiontranspose_regionTransposeRegionTransposeRegionTransposeRegion, minkowski_sub1minkowski_sub1MinkowskiSub1MinkowskiSub1MinkowskiSub1

Modul

Foundation