Name
hit_or_misshit_or_missHitOrMisshit_or_missHitOrMissHitOrMiss — Ausführen der Hit-or-Miss-Operation für Regionen.
Herror hit_or_miss(const Hobject Region, const Hobject StructElement1, const Hobject StructElement2, Hobject* RegionHitMiss, const Hlong Row, const Hlong Column)
Herror T_hit_or_miss(const Hobject Region, const Hobject StructElement1, const Hobject StructElement2, Hobject* RegionHitMiss, const Htuple Row, const Htuple Column)
Herror hit_or_miss(Hobject Region, Hobject StructElement1, Hobject StructElement2, Hobject* RegionHitMiss, const HTuple& Row, const HTuple& Column)
HRegion HRegion::HitOrMiss(const HRegion& StructElement1, const HRegion& StructElement2, const HTuple& Row, const HTuple& Column) const
HRegionArray HRegionArray::HitOrMiss(const HRegion& StructElement1, const HRegion& StructElement2, const HTuple& Row, const HTuple& Column) const
hit_or_misshit_or_missHitOrMisshit_or_missHitOrMissHitOrMiss berechnet die Hit-or-Miss-Transformation.
Der Operator führt dabei zuerst eine Erosion der Region
RegionRegionRegionRegionRegionregion mit dem strukturierenden Element
StructElement1StructElement1StructElement1StructElement1StructElement1structElement1 durch. Im zweiten Schritt wird eine
Erosion der komplementären Region mit dem strukturierenden Element
StructElement2StructElement2StructElement2StructElement2StructElement2structElement2 durchgeführt. Aus den beiden
Zwischenergebnissen wird die Schnittmenge gebildet.
Die Hit-or-Miss-Transformation wählt genau die Punkte aus, deren
Umgebung die Bedingungen der strukturierenden Elemente
StructElement1StructElement1StructElement1StructElement1StructElement1structElement1 und StructElement2StructElement2StructElement2StructElement2StructElement2structElement2 erfüllen.
StructElement1StructElement1StructElement1StructElement1StructElement1structElement1 bezeichnet dabei die Punkte des
Vordergrundes, StructElement2StructElement2StructElement2StructElement2StructElement2structElement2 die Punkte des
Hintergrundes. Für ein sinnvolles Ergebnis müssen
StructElement1StructElement1StructElement1StructElement1StructElement1structElement1 und StructElement2StructElement2StructElement2StructElement2StructElement2structElement2 wie
Schlüssel und Schloss zusammenpassen. StructElement1StructElement1StructElement1StructElement1StructElement1structElement1
und StructElement2StructElement2StructElement2StructElement2StructElement2structElement2 sind in jedem Fall disjunkt.
RowRowRowRowRowrow und ColumnColumnColumnColumnColumncolumn bezeichnen Zeilen- und
Spaltennummer des Bezugspunktes.
Strukturierende Elemente (StructElement1StructElement1StructElement1StructElement1StructElement1structElement1,
StructElement2StructElement2StructElement2StructElement2StructElement2structElement2) können mit Operatoren wie
gen_region_pointsgen_region_pointsGenRegionPointsgen_region_pointsGenRegionPointsGenRegionPoints, etc. erzeugt 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.
Erosionsmaske für die Eingaberegionen.
Erosionsmaske für die Komplemente der Eingaberegionen.
Das Ergebnis der Hit-or-Miss-Operation.
Zeile des Bezugspunktes.
Defaultwert: 16
Wertevorschläge: 0, 16, 32, 128, 256
Typischer Wertebereich: 0
≤
Row
Row
Row
Row
Row
row
≤
511 (lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 1
Spalte des Bezugspunktes.
Defaultwert: 16
Wertevorschläge: 0, 16, 32, 128, 256
Typischer Wertebereich: 0
≤
Column
Column
Column
Column
Column
column
≤
511 (lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 1
Sei F die Fläche einer Eingaberegion, F1 die Fläche des
strukturierenden Elementes 1 und F2 die Fläche der des
strukturierenden Elementes 2, dann ist die Laufzeitkomplexität für
ein Objekt:
Bei korrekter Parametrisierung liefert die Funktion
hit_or_misshit_or_missHitOrMisshit_or_missHitOrMissHitOrMiss 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
differencedifferenceDifferencedifferenceDifferenceDifference,
reduce_domainreduce_domainReduceDomainreduce_domainReduceDomainReduceDomain,
select_shapeselect_shapeSelectShapeselect_shapeSelectShapeSelectShape,
area_centerarea_centerAreaCenterarea_centerAreaCenterAreaCenter,
connectionconnectionConnectionconnectionConnectionConnection
erosion2erosion2Erosion2erosion2Erosion2Erosion2,
dilation2dilation2Dilation2dilation2Dilation2Dilation2
gen_region_pointsgen_region_pointsGenRegionPointsgen_region_pointsGenRegionPointsGenRegionPoints,
gen_region_polygon_filledgen_region_polygon_filledGenRegionPolygonFilledgen_region_polygon_filledGenRegionPolygonFilledGenRegionPolygonFilled
Foundation