KlassenKlassenKlassenKlassen | | | | Operatoren

label_to_regionlabel_to_regionLabelToRegionlabel_to_regionLabelToRegionLabelToRegion (Operator)

Name

label_to_regionlabel_to_regionLabelToRegionlabel_to_regionLabelToRegionLabelToRegion — Suchen von Regionen mit gleichen Grauwerten.

Signatur

label_to_region(LabelImage : Regions : : )

Herror label_to_region(const Hobject LabelImage, Hobject* Regions)

Herror T_label_to_region(const Hobject LabelImage, Hobject* Regions)

Herror label_to_region(Hobject LabelImage, Hobject* Regions)

HRegionArray HImage::LabelToRegion() const

HRegionArray HImageArray::LabelToRegion() const

void LabelToRegion(const HObject& LabelImage, HObject* Regions)

HRegion HImage::LabelToRegion() const

void HOperatorSetX.LabelToRegion(
[in] IHUntypedObjectX* LabelImage, [out] IHUntypedObjectX*Regions)

IHRegionX* HImageX.LabelToRegion()

static void HOperatorSet.LabelToRegion(HObject labelImage, out HObject regions)

HRegion HImage.LabelToRegion()

Beschreibung

label_to_regionlabel_to_regionLabelToRegionlabel_to_regionLabelToRegionLabelToRegion segmentiert Bilder in Regionen gleichen Grauwerts. Dabei wird für jeden Grauwert im Bild genau eine Ausgaberegion erzeugt. Dies entspricht einem mehrfachen Aufruf des Operators thresholdthresholdThresholdthresholdThresholdThreshold, gefolgt von der Konkatenation der entstandenen Regionen (concat_objconcat_objConcatObjconcat_objConcatObjConcatObj). Verwandt ist die Routine auch mit regiongrowingregiongrowingRegiongrowingregiongrowingRegiongrowingRegiongrowing. label_to_regionlabel_to_regionLabelToRegionlabel_to_regionLabelToRegionLabelToRegion führt allerdings kein connectionconnectionConnectionconnectionConnectionConnection durch, d.h. die Ausgaberegionen müssen nicht zusammenhängen. Eine typische Anwendung von label_to_regionlabel_to_regionLabelToRegionlabel_to_regionLabelToRegionLabelToRegion ist die Segmentation „gelabelter“ Bilder, daher auch der Name.

Die Anzahl der Ausgaberegionen wird durch den Systemparameter 'max_outp_obj_par' begrenzt, der mittels

get_system(::'max_outp_obj_par':<Anzahl>)
abgefragt werden kann.

Achtung

label_to_regionlabel_to_regionLabelToRegionlabel_to_regionLabelToRegionLabelToRegion ist nicht für Real-Bilder implementiert. Die Eingabebilder dürfen keine negativen Grauwerte enthalten.

Parallelisierung

Parameter

LabelImageLabelImageLabelImageLabelImageLabelImagelabelImage (input_object)  singlechannelimage(-array) objectHImageHImageHImageHImageXHobject (byte / int2 / int4 / int8)

„Gelabeltes“ Bild.

RegionsRegionsRegionsRegionsRegionsregions (output_object)  region-array objectHRegionHRegionHRegionArrayHRegionXHobject *

Regionen mit konstantem Grauwert.

Komplexität

Sei x1 die minimale X-Koordinate, x2 die maximale X-Koordinate, y1 die minimale Y-Koordinate und y2 die maximale Y-Koordinate eines auftretenden Grauwertes und N die Anzahl der verschiedenen Grauwerte, dann ist die Laufzeitkomplexität O(N * (x2 - x1 + 1) * (y2 - y1 + 1))

Ergebnis

Sind die Grauwerte in einem zulässigen Bereich, dann liefert label_to_regionlabel_to_regionLabelToRegionlabel_to_regionLabelToRegionLabelToRegion den Wert 2 (H_MSG_TRUE). Für das Verhalten bzgl. der Eingabebilder und Ausgaberegionen sind die Flags 'no_object_result'"no_object_result""no_object_result""no_object_result""no_object_result""no_object_result", 'empty_region_result'"empty_region_result""empty_region_result""empty_region_result""empty_region_result""empty_region_result" und 'store_empty_region'"store_empty_region""store_empty_region""store_empty_region""store_empty_region""store_empty_region" einstellbar (siehe set_systemset_systemSetSystemset_systemSetSystemSetSystem). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

min_max_graymin_max_grayMinMaxGraymin_max_grayMinMaxGrayMinMaxGray, sobel_ampsobel_ampSobelAmpsobel_ampSobelAmpSobelAmp, binomial_filterbinomial_filterBinomialFilterbinomial_filterBinomialFilterBinomialFilter, gauss_filtergauss_filterGaussFiltergauss_filterGaussFilterGaussFilter, reduce_domainreduce_domainReduceDomainreduce_domainReduceDomainReduceDomain, diff_of_gaussdiff_of_gaussDiffOfGaussdiff_of_gaussDiffOfGaussDiffOfGauss

Nachfolger

connectionconnectionConnectionconnectionConnectionConnection, dilation1dilation1Dilation1dilation1Dilation1Dilation1, erosion1erosion1Erosion1erosion1Erosion1Erosion1, openingopeningOpeningopeningOpeningOpening, closingclosingClosingclosingClosingClosing, rank_regionrank_regionRankRegionrank_regionRankRegionRankRegion, shape_transshape_transShapeTransshape_transShapeTransShapeTrans, skeletonskeletonSkeletonskeletonSkeletonSkeleton

Siehe auch

thresholdthresholdThresholdthresholdThresholdThreshold, concat_objconcat_objConcatObjconcat_objConcatObjConcatObj, regiongrowingregiongrowingRegiongrowingregiongrowingRegiongrowingRegiongrowing, region_to_labelregion_to_labelRegionToLabelregion_to_labelRegionToLabelRegionToLabel

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren