KlassenKlassenKlassenKlassen | | | | Operatoren

thinning_seqthinning_seqThinningSeqthinning_seqThinningSeqThinningSeq (Operator)

Name

thinning_seqthinning_seqThinningSeqthinning_seqThinningSeqThinningSeq — Sequentielles Verdünnen einer Region um das Ergebnis von Hit-or-Miss.

Warnung

thinning_seqthinning_seqThinningSeqthinning_seqThinningSeqThinningSeq ist veraltet und wird nur aus Gründen der Rückwärtskompatibilität zur Verfügung gestellt.

Signatur

thinning_seq(Region : RegionThin : GolayElement, Iterations : )

Herror thinning_seq(const Hobject Region, Hobject* RegionThin, const char* GolayElement, const Hlong Iterations)

Herror T_thinning_seq(const Hobject Region, Hobject* RegionThin, const Htuple GolayElement, const Htuple Iterations)

Herror thinning_seq(Hobject Region, Hobject* RegionThin, const HTuple& GolayElement, const HTuple& Iterations)

HRegion HRegion::ThinningSeq(const HTuple& GolayElement, const HTuple& Iterations) const

HRegionArray HRegionArray::ThinningSeq(const HTuple& GolayElement, const HTuple& Iterations) const

void ThinningSeq(const HObject& Region, HObject* RegionThin, const HTuple& GolayElement, const HTuple& Iterations)

HRegion HRegion::ThinningSeq(const HString& GolayElement, const HTuple& Iterations) const

HRegion HRegion::ThinningSeq(const HString& GolayElement, Hlong Iterations) const

HRegion HRegion::ThinningSeq(const char* GolayElement, Hlong Iterations) const

void HOperatorSetX.ThinningSeq(
[in] IHUntypedObjectX* Region, [out] IHUntypedObjectX*RegionThin, [in] VARIANT GolayElement, [in] VARIANT Iterations)

IHRegionX* HRegionX.ThinningSeq(
[in] BSTR GolayElement, [in] VARIANT Iterations)

static void HOperatorSet.ThinningSeq(HObject region, out HObject regionThin, HTuple golayElement, HTuple iterations)

HRegion HRegion.ThinningSeq(string golayElement, HTuple iterations)

HRegion HRegion.ThinningSeq(string golayElement, int iterations)

Beschreibung

thinning_seqthinning_seqThinningSeqthinning_seqThinningSeqThinningSeq berechnet das sequentielle Thinning der Eingaberegionen mit dem durch GolayElementGolayElementGolayElementGolayElementGolayElementgolayElement ausgewählten strukturierenden Element aus dem Golay-Alphabet. Dazu führt thinning_seqthinning_seqThinningSeqthinning_seqThinningSeqThinningSeq den Operator thinning_golaythinning_golayThinningGolaythinning_golayThinningGolayThinningGolay für die Eingaberegionen mit allen Rotationen des strukturierenden Elements so oft durch, wie der Parameter IterationsIterationsIterationsIterationsIterationsiterations angibt. Wird IterationsIterationsIterationsIterationsIterationsiterations groß genug gewählt, erzeugt der Operator mit den Elementen 'l' bzw. 'm' das Skelett der Regionen. Bei dem Element 'c' werden Vorder- und Hintergrundanteil vertauscht, damit es den inneren Rand beeinflusst. Wird bei IterationsIterationsIterationsIterationsIterationsiterations ein sehr großer Werte oder 'maximal' übergeben, dann bricht die Verarbeitung ab, wenn keine Veränderung mehr auftritt. Für die strukturierenden Elemente gibt es folgende Wahlmöglichkeiten:

'l'

Skelett, ähnlich wie bei skeletonskeletonSkeletonskeletonSkeletonSkeleton. Dieses strukturierende Element wird auch bei morph_skizmorph_skizMorphSkizmorph_skizMorphSkizMorphSkiz verwendet.

'm'

Ein Skelett mit vielen „Haaren“ und mehrfachen (parallelen) Ästen.

'd'

Skelett ohne mehrfach Äste aber mit vielen Lücken. Ähnlich zu morph_skeletonmorph_skeletonMorphSkeletonmorph_skeletonMorphSkeletonMorphSkeleton.

'c'

Gleichmäßige Erosion der Region.

'e'

Ein Pixel dicke Linien werden verkürzt. Dieses strukturierende Element wird auch bei morph_skizmorph_skizMorphSkizmorph_skizMorphSkizMorphSkiz verwendet.

'i'

Isolierte Punkte werden entfernt. (Nur IterationsIterationsIterationsIterationsIterationsiterations = 1 sinnvoll).

'f'

Verzweigungspunkte (y-junctions) werden eliminiert. (Nur IterationsIterationsIterationsIterationsIterationsiterations = 1 sinnvoll).

'f2'

Es werden ein Pixel lange Äste und Ecken entfernt. (Nur IterationsIterationsIterationsIterationsIterationsiterations = 1 sinnvoll).

'h'

Eine Art von innerem Rand, der aber dicker als bei boundaryboundaryBoundaryboundaryBoundaryBoundary ist, wird erzeugt, (Nur IterationsIterationsIterationsIterationsIterationsiterations = 1 sinnvoll).

'k'

Verzweigungspunkte werden elimiert und dabei auch neue erzeugt.

Die Golay-Elemente mit allen möglichen Rotationen sind in der Funktionsbeschreibung von golay_elementsgolay_elementsGolayElementsgolay_elementsGolayElementsGolayElements aufgeführt.

Parallelisierung

Parameter

RegionRegionRegionRegionRegionregion (input_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject

Regionen, die verarbeitet werden sollen.

RegionThinRegionThinRegionThinRegionThinRegionThinregionThin (output_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject *

Das Ergebnis des Thinning-Operators.

GolayElementGolayElementGolayElementGolayElementGolayElementgolayElement (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Strukturierendes Element aus dem Golay-Alphabet.

Defaultwert: 'l' "l" "l" "l" "l" "l"

Werteliste: 'c'"c""c""c""c""c", 'd'"d""d""d""d""d", 'e'"e""e""e""e""e", 'f'"f""f""f""f""f", 'f2'"f2""f2""f2""f2""f2", 'h'"h""h""h""h""h", 'i'"i""i""i""i""i", 'k'"k""k""k""k""k", 'l'"l""l""l""l""l", 'm'"m""m""m""m""m"

IterationsIterationsIterationsIterationsIterationsiterations (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*) (Hlong / BSTR) (Hlong / char*)

Anzahl der Iterationsschritte. Bei 'f', 'f2', 'h' und 'i' ist nur der Wert 1 sinnvoll.

Defaultwert: 20

Wertevorschläge: 'maximal'"maximal""maximal""maximal""maximal""maximal", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 30, 40, 50, 70, 100, 150, 200

Typischer Wertebereich: 1 ≤ Iterations Iterations Iterations Iterations Iterations iterations (lin)

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

Komplexität

Sei F die Fläche einer Eingaberegion, dann ist die Laufzeitkomplexität für ein Objekt:

Ergebnis

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

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

Nachfolger

pruningpruningPruningpruningPruningPruning, reduce_domainreduce_domainReduceDomainreduce_domainReduceDomainReduceDomain, select_shapeselect_shapeSelectShapeselect_shapeSelectShapeSelectShape, area_centerarea_centerAreaCenterarea_centerAreaCenterAreaCenter, connectionconnectionConnectionconnectionConnectionConnection, complementcomplementComplementcomplementComplementComplement

Alternativen

skeletonskeletonSkeletonskeletonSkeletonSkeleton, morph_skizmorph_skizMorphSkizmorph_skizMorphSkizMorphSkiz, expand_regionexpand_regionExpandRegionexpand_regionExpandRegionExpandRegion

Siehe auch

hit_or_miss_seqhit_or_miss_seqHitOrMissSeqhit_or_miss_seqHitOrMissSeqHitOrMissSeq, erosion_golayerosion_golayErosionGolayerosion_golayErosionGolayErosionGolay, differencedifferenceDifferencedifferenceDifferenceDifference, thinning_golaythinning_golayThinningGolaythinning_golayThinningGolayThinningGolay, thinningthinningThinningthinningThinningThinning, thickening_seqthickening_seqThickeningSeqthickening_seqThickeningSeqThickeningSeq

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren