Name
minkowski_add2minkowski_add2MinkowskiAdd2minkowski_add2MinkowskiAdd2MinkowskiAdd2 — Ausdehnen von Regionen (mit Bezugspunkt).
Herror minkowski_add2(const Hobject Region, const Hobject StructElement, Hobject* RegionMinkAdd, const Hlong Row, const Hlong Column, const Hlong Iterations)
Herror T_minkowski_add2(const Hobject Region, const Hobject StructElement, Hobject* RegionMinkAdd, const Htuple Row, const Htuple Column, const Htuple Iterations)
Herror minkowski_add2(Hobject Region, Hobject StructElement, Hobject* RegionMinkAdd, const HTuple& Row, const HTuple& Column, const HTuple& Iterations)
HRegion HRegion::MinkowskiAdd2(const HRegion& StructElement, const HTuple& Row, const HTuple& Column, const HTuple& Iterations) const
HRegionArray HRegionArray::MinkowskiAdd2(const HRegion& StructElement, const HTuple& Row, const HTuple& Column, const HTuple& Iterations) const
minkowski_add2minkowski_add2MinkowskiAdd2minkowski_add2MinkowskiAdd2MinkowskiAdd2 berechnet die Minkowski-Addition der
Eingaberegionen mit einem strukturierenden Element
(StructElementStructElementStructElementStructElementStructElementstructElement) und dem Bezugspunkt, der durch
RowRowRowRowRowrow und ColumnColumnColumnColumnColumncolumn charakterisiert wird.
minkowski_add2minkowski_add2MinkowskiAdd2minkowski_add2MinkowskiAdd2MinkowskiAdd2 entspricht dem Operator
minkowski_add1minkowski_add1MinkowskiAdd1minkowski_add1MinkowskiAdd1MinkowskiAdd1 mit dem Unterschied, dass der Bezugspunkt
des strukturierenden Elementes frei gewählt werden kann. 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 des leeren strukturierenden Elementes wird ein leere
Region erzeugt.
Strukturierende Elemente 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.
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
union1union1Union1union1Union1Union1 durchgeführt werden.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf Tupelebene.
Regionen die verarbeitet werden sollen.
Strukturierendes Element.
Ergebnis der Minkowski-Addition.
Zeile des Bezugspunktes.
Typischer Wertebereich: 1
≤
Row
Row
Row
Row
Row
row
≤
511 (lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 1
Spalte des Bezugspunktes.
Typischer Wertebereich: 1
≤
Column
Column
Column
Column
Column
column
≤
511 (lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 1
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
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
minkowski_add2minkowski_add2MinkowskiAdd2minkowski_add2MinkowskiAdd2MinkowskiAdd2 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.
thresholdthresholdThresholdthresholdThresholdThreshold,
regiongrowingregiongrowingRegiongrowingregiongrowingRegiongrowingRegiongrowing,
connectionconnectionConnectionconnectionConnectionConnection,
union1union1Union1union1Union1Union1,
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_struct_elementsgen_struct_elementsGenStructElementsgen_struct_elementsGenStructElementsGenStructElements,
gen_region_polygon_filledgen_region_polygon_filledGenRegionPolygonFilledgen_region_polygon_filledGenRegionPolygonFilledGenRegionPolygonFilled
reduce_domainreduce_domainReduceDomainreduce_domainReduceDomainReduceDomain,
select_shapeselect_shapeSelectShapeselect_shapeSelectShapeSelectShape,
area_centerarea_centerAreaCenterarea_centerAreaCenterAreaCenter,
connectionconnectionConnectionconnectionConnectionConnection
minkowski_add1minkowski_add1MinkowskiAdd1minkowski_add1MinkowskiAdd1MinkowskiAdd1,
dilation1dilation1Dilation1dilation1Dilation1Dilation1
transpose_regiontranspose_regionTransposeRegiontranspose_regionTransposeRegionTransposeRegion
Foundation