KlassenKlassenKlassenKlassen | | | | Operatoren

hit_or_misshit_or_missHitOrMisshit_or_missHitOrMissHitOrMiss (Operator)

Name

hit_or_misshit_or_missHitOrMisshit_or_missHitOrMissHitOrMiss — Ausführen der Hit-or-Miss-Operation für Regionen.

Signatur

hit_or_miss(Region, StructElement1, StructElement2 : RegionHitMiss : Row, Column : )

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

void HitOrMiss(const HObject& Region, const HObject& StructElement1, const HObject& StructElement2, HObject* RegionHitMiss, const HTuple& Row, const HTuple& Column)

HRegion HRegion::HitOrMiss(const HRegion& StructElement1, const HRegion& StructElement2, Hlong Row, Hlong Column) const

void HOperatorSetX.HitOrMiss(
[in] IHUntypedObjectX* Region, [in] IHUntypedObjectX* StructElement1, [in] IHUntypedObjectX* StructElement2, [out] IHUntypedObjectX*RegionHitMiss, [in] VARIANT Row, [in] VARIANT Column)

IHRegionX* HRegionX.HitOrMiss(
[in] IHRegionX* StructElement1, [in] IHRegionX* StructElement2, [in] Hlong Row, [in] Hlong Column)

static void HOperatorSet.HitOrMiss(HObject region, HObject structElement1, HObject structElement2, out HObject regionHitMiss, HTuple row, HTuple column)

HRegion HRegion.HitOrMiss(HRegion structElement1, HRegion structElement2, int row, int column)

Beschreibung

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 golay_elementsgolay_elementsGolayElementsgolay_elementsGolayElementsGolayElements, gen_struct_elementsgen_struct_elementsGenStructElementsgen_struct_elementsGenStructElementsGenStructElements, gen_region_pointsgen_region_pointsGenRegionPointsgen_region_pointsGenRegionPointsGenRegionPoints, etc. erzeugt werden.

Parallelisierung

Parameter

RegionRegionRegionRegionRegionregion (input_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject

Regionen, die verarbeitet werden sollen.

StructElement1StructElement1StructElement1StructElement1StructElement1structElement1 (input_object)  region objectHRegionHRegionHRegionHRegionXHobject

Erosionsmaske für die Eingaberegionen.

StructElement2StructElement2StructElement2StructElement2StructElement2structElement2 (input_object)  region objectHRegionHRegionHRegionHRegionXHobject

Erosionsmaske für die Komplemente der Eingaberegionen.

RegionHitMissRegionHitMissRegionHitMissRegionHitMissRegionHitMissregionHitMiss (output_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject *

Das Ergebnis der Hit-or-Miss-Operation.

RowRowRowRowRowrow (input_control)  point.y HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

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

ColumnColumnColumnColumnColumncolumn (input_control)  point.x HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

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

Komplexität

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:

Ergebnis

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:

Andernfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

golay_elementsgolay_elementsGolayElementsgolay_elementsGolayElementsGolayElements, gen_struct_elementsgen_struct_elementsGenStructElementsgen_struct_elementsGenStructElementsGenStructElements, thresholdthresholdThresholdthresholdThresholdThreshold, regiongrowingregiongrowingRegiongrowingregiongrowingRegiongrowingRegiongrowing, connectionconnectionConnectionconnectionConnectionConnection, union1union1Union1union1Union1Union1, watershedswatershedsWatershedswatershedsWatershedsWatersheds, class_ndim_normclass_ndim_normClassNdimNormclass_ndim_normClassNdimNormClassNdimNorm

Nachfolger

differencedifferenceDifferencedifferenceDifferenceDifference, reduce_domainreduce_domainReduceDomainreduce_domainReduceDomainReduceDomain, select_shapeselect_shapeSelectShapeselect_shapeSelectShapeSelectShape, area_centerarea_centerAreaCenterarea_centerAreaCenterAreaCenter, connectionconnectionConnectionconnectionConnectionConnection

Alternativen

hit_or_miss_golayhit_or_miss_golayHitOrMissGolayhit_or_miss_golayHitOrMissGolayHitOrMissGolay, hit_or_miss_seqhit_or_miss_seqHitOrMissSeqhit_or_miss_seqHitOrMissSeqHitOrMissSeq, erosion2erosion2Erosion2erosion2Erosion2Erosion2, dilation2dilation2Dilation2dilation2Dilation2Dilation2

Siehe auch

thinningthinningThinningthinningThinningThinning, thickeningthickeningThickeningthickeningThickeningThickening, gen_region_pointsgen_region_pointsGenRegionPointsgen_region_pointsGenRegionPointsGenRegionPoints, gen_region_polygon_filledgen_region_polygon_filledGenRegionPolygonFilledgen_region_polygon_filledGenRegionPolygonFilledGenRegionPolygonFilled

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren