thinning_seqthinning_seqThinningSeqThinningSeq (Operator)

Name

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

Warnung

thinning_seqthinning_seqThinningSeqThinningSeqThinningSeq 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)

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

HRegion HRegion::ThinningSeq(const wchar_t* GolayElement, Hlong Iterations) const   (Nur Windows)

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_seqThinningSeqThinningSeqThinningSeq berechnet das sequentielle Thinning der Eingaberegionen mit dem durch GolayElementGolayElementGolayElementGolayElementgolayElement ausgewählten strukturierenden Element aus dem Golay-Alphabet. Dazu führt thinning_seqthinning_seqThinningSeqThinningSeqThinningSeq den Operator thinning_golaythinning_golayThinningGolayThinningGolayThinningGolay für die Eingaberegionen mit allen Rotationen des strukturierenden Elements so oft durch, wie der Parameter IterationsIterationsIterationsIterationsiterations angibt. Wird IterationsIterationsIterationsIterationsiterations 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 IterationsIterationsIterationsIterationsiterations 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 skeletonskeletonSkeletonSkeletonSkeleton. Dieses strukturierende Element wird auch bei morph_skizmorph_skizMorphSkizMorphSkizMorphSkiz 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_skeletonMorphSkeletonMorphSkeletonMorphSkeleton.

'c'

Gleichmäßige Erosion der Region.

'e'

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

'i'

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

'f'

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

'f2'

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

'h'

Eine Art von innerem Rand, der aber dicker als bei boundaryboundaryBoundaryBoundaryBoundary ist, wird erzeugt, (Nur IterationsIterationsIterationsIterationsiterations = 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_elementsGolayElementsGolayElementsGolayElements aufgeführt.

Ausführungsinformationen

Parameter

RegionRegionRegionRegionregion (input_object)  region(-array) objectHRegionHRegionHobject

Regionen, die verarbeitet werden sollen.

RegionThinRegionThinRegionThinRegionThinregionThin (output_object)  region(-array) objectHRegionHRegionHobject *

Das Ergebnis des Thinning-Operators.

GolayElementGolayElementGolayElementGolayElementgolayElement (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Strukturierendes Element aus dem Golay-Alphabet.

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

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

IterationsIterationsIterationsIterationsiterations (input_control)  integer HTupleHTupleHtuple (integer / string) (int / long / string) (Hlong / HString) (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", 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 (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_seqThinningSeqThinningSeqThinningSeq 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_struct_elementsgen_struct_elementsGenStructElementsGenStructElementsGenStructElements, gen_region_polygon_filledgen_region_polygon_filledGenRegionPolygonFilledGenRegionPolygonFilledGenRegionPolygonFilled

Nachfolger

pruningpruningPruningPruningPruning, reduce_domainreduce_domainReduceDomainReduceDomainReduceDomain, select_shapeselect_shapeSelectShapeSelectShapeSelectShape, area_centerarea_centerAreaCenterAreaCenterAreaCenter, connectionconnectionConnectionConnectionConnection, complementcomplementComplementComplementComplement

Alternativen

skeletonskeletonSkeletonSkeletonSkeleton, morph_skizmorph_skizMorphSkizMorphSkizMorphSkiz, expand_regionexpand_regionExpandRegionExpandRegionExpandRegion

Siehe auch

hit_or_miss_seqhit_or_miss_seqHitOrMissSeqHitOrMissSeqHitOrMissSeq, erosion_golayerosion_golayErosionGolayErosionGolayErosionGolay, differencedifferenceDifferenceDifferenceDifference, thinning_golaythinning_golayThinningGolayThinningGolayThinningGolay, thinningthinningThinningThinningThinning, thickening_seqthickening_seqThickeningSeqThickeningSeqThickeningSeq

Modul

Foundation