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_seqThinningSeqThinningSeqthinning_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_seqThinningSeqThinningSeqthinning_seq berechnet das sequentielle Thinning der Eingaberegionen mit dem durch GolayElementGolayElementGolayElementgolayElementgolay_element ausgewählten strukturierenden Element aus dem Golay-Alphabet. Dazu führt thinning_seqthinning_seqThinningSeqThinningSeqthinning_seq den Operator thinning_golaythinning_golayThinningGolayThinningGolaythinning_golay 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_skizMorphSkizMorphSkizmorph_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_skeletonMorphSkeletonMorphSkeletonmorph_skeleton.

'c'

Gleichmäßige Erosion der Region.

'e'

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

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

Ausführungsinformationen

Parameter

RegionRegionRegionregionregion (input_object)  region(-array) objectHRegionHObjectHObjectHobject

Regionen, die verarbeitet werden sollen.

RegionThinRegionThinRegionThinregionThinregion_thin (output_object)  region(-array) objectHRegionHObjectHObjectHobject *

Das Ergebnis des Thinning-Operators.

GolayElementGolayElementGolayElementgolayElementgolay_element (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Strukturierendes Element aus dem Golay-Alphabet.

Default: '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 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.

Default: 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

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_seqThinningSeqThinningSeqthinning_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

thresholdthresholdThresholdThresholdthreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingregiongrowing, connectionconnectionConnectionConnectionconnection, union1union1Union1Union1union1, watershedswatershedsWatershedsWatershedswatersheds, class_ndim_normclass_ndim_normClassNdimNormClassNdimNormclass_ndim_norm, gen_circlegen_circleGenCircleGenCirclegen_circle, gen_ellipsegen_ellipseGenEllipseGenEllipsegen_ellipse, gen_rectangle1gen_rectangle1GenRectangle1GenRectangle1gen_rectangle1, gen_rectangle2gen_rectangle2GenRectangle2GenRectangle2gen_rectangle2, draw_regiondraw_regionDrawRegionDrawRegiondraw_region, gen_region_pointsgen_region_pointsGenRegionPointsGenRegionPointsgen_region_points, gen_struct_elementsgen_struct_elementsGenStructElementsGenStructElementsgen_struct_elements, gen_region_polygon_filledgen_region_polygon_filledGenRegionPolygonFilledGenRegionPolygonFilledgen_region_polygon_filled

Nachfolger

pruningpruningPruningPruningpruning, reduce_domainreduce_domainReduceDomainReduceDomainreduce_domain, select_shapeselect_shapeSelectShapeSelectShapeselect_shape, area_centerarea_centerAreaCenterAreaCenterarea_center, connectionconnectionConnectionConnectionconnection, complementcomplementComplementComplementcomplement

Alternativen

skeletonskeletonSkeletonSkeletonskeleton, morph_skizmorph_skizMorphSkizMorphSkizmorph_skiz, expand_regionexpand_regionExpandRegionExpandRegionexpand_region

Siehe auch

hit_or_miss_seqhit_or_miss_seqHitOrMissSeqHitOrMissSeqhit_or_miss_seq, erosion_golayerosion_golayErosionGolayErosionGolayerosion_golay, differencedifferenceDifferenceDifferencedifference, thinning_golaythinning_golayThinningGolayThinningGolaythinning_golay, thinningthinningThinningThinningthinning, thickening_seqthickening_seqThickeningSeqThickeningSeqthickening_seq

Modul

Foundation