thinning_seqthinning_seqThinningSeqThinningSeqthinning_seq (Operator)

Name

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

Warnung

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

def thinning_seq(region: HObject, golay_element: str, iterations: Union[int, str]) -> HObject

Beschreibung

thinning_seqthinning_seqThinningSeqThinningSeqThinningSeqthinning_seq berechnet das sequentielle Thinning der Eingaberegionen mit dem durch GolayElementGolayElementGolayElementGolayElementgolayElementgolay_element ausgewählten strukturierenden Element aus dem Golay-Alphabet. Dazu führt thinning_seqthinning_seqThinningSeqThinningSeqThinningSeqthinning_seq den Operator thinning_golaythinning_golayThinningGolayThinningGolayThinningGolaythinning_golay 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_skizMorphSkizMorphSkizMorphSkizmorph_skiz 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_skeletonMorphSkeletonMorphSkeletonMorphSkeletonmorph_skeleton.

'c'

Gleichmäßige Erosion der Region.

'e'

Ein Pixel dicke Linien werden verkürzt. Dieses strukturierende Element wird auch bei morph_skizmorph_skizMorphSkizMorphSkizMorphSkizmorph_skiz 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 eliminiert und dabei auch neue erzeugt.

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

Ausführungsinformationen

Parameter

RegionRegionRegionRegionregionregion (input_object)  region(-array) objectHRegionHObjectHRegionHobject

Regionen, die verarbeitet werden sollen.

RegionThinRegionThinRegionThinRegionThinregionThinregion_thin (output_object)  region(-array) objectHRegionHObjectHRegionHobject *

Das Ergebnis des Thinning-Operators.

GolayElementGolayElementGolayElementGolayElementgolayElementgolay_element (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (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 HTupleUnion[int, str]HTupleHtuple (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""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_seqThinningSeqThinningSeqThinningSeqthinning_seq 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_normClassNdimNormClassNdimNormClassNdimNormclass_ndim_norm, gen_circlegen_circleGenCircleGenCircleGenCirclegen_circle, gen_ellipsegen_ellipseGenEllipseGenEllipseGenEllipsegen_ellipse, gen_rectangle1gen_rectangle1GenRectangle1GenRectangle1GenRectangle1gen_rectangle1, gen_rectangle2gen_rectangle2GenRectangle2GenRectangle2GenRectangle2gen_rectangle2, draw_regiondraw_regionDrawRegionDrawRegionDrawRegiondraw_region, gen_region_pointsgen_region_pointsGenRegionPointsGenRegionPointsGenRegionPointsgen_region_points, gen_struct_elementsgen_struct_elementsGenStructElementsGenStructElementsGenStructElementsgen_struct_elements, gen_region_polygon_filledgen_region_polygon_filledGenRegionPolygonFilledGenRegionPolygonFilledGenRegionPolygonFilledgen_region_polygon_filled

Nachfolger

pruningpruningPruningPruningPruningpruning, reduce_domainreduce_domainReduceDomainReduceDomainReduceDomainreduce_domain, select_shapeselect_shapeSelectShapeSelectShapeSelectShapeselect_shape, area_centerarea_centerAreaCenterAreaCenterAreaCenterarea_center, connectionconnectionConnectionConnectionConnectionconnection, complementcomplementComplementComplementComplementcomplement

Alternativen

skeletonskeletonSkeletonSkeletonSkeletonskeleton, morph_skizmorph_skizMorphSkizMorphSkizMorphSkizmorph_skiz, expand_regionexpand_regionExpandRegionExpandRegionExpandRegionexpand_region

Siehe auch

hit_or_miss_seqhit_or_miss_seqHitOrMissSeqHitOrMissSeqHitOrMissSeqhit_or_miss_seq, erosion_golayerosion_golayErosionGolayErosionGolayErosionGolayerosion_golay, differencedifferenceDifferenceDifferenceDifferencedifference, thinning_golaythinning_golayThinningGolayThinningGolayThinningGolaythinning_golay, thinningthinningThinningThinningThinningthinning, thickening_seqthickening_seqThickeningSeqThickeningSeqThickeningSeqthickening_seq

Modul

Foundation