thresholdthresholdThresholdThreshold (Operator)

Name

thresholdthresholdThresholdThreshold — Segmentieren mit globalen Schwellenwerten.

Signatur

threshold(Image : Region : MinGray, MaxGray : )

Herror threshold(const Hobject Image, Hobject* Region, double MinGray, double MaxGray)

Herror T_threshold(const Hobject Image, Hobject* Region, const Htuple MinGray, const Htuple MaxGray)

void Threshold(const HObject& Image, HObject* Region, const HTuple& MinGray, const HTuple& MaxGray)

HRegion HImage::Threshold(const HTuple& MinGray, const HTuple& MaxGray) const

HRegion HImage::Threshold(double MinGray, double MaxGray) const

static void HOperatorSet.Threshold(HObject image, out HObject region, HTuple minGray, HTuple maxGray)

HRegion HImage.Threshold(HTuple minGray, HTuple maxGray)

HRegion HImage.Threshold(double minGray, double maxGray)

Beschreibung

thresholdthresholdThresholdThresholdThreshold wählt aus den Eingabebildern die Bildpunkte aus, deren Grauwerte g der Schwellenwertbedingung genügen.

Alle Punkte eines Eingabebildes, die die Bedingung erfüllen, werden gemeinsam als eine neue Region abgespeichert. Wird mehr als ein Grauwertbereich übergeben (Tupel von Werten für MinGrayMinGrayMinGrayMinGrayminGray und MaxGrayMaxGrayMaxGrayMaxGraymaxGray), dann wird für jedes dieser Intervalle eine Region erzeugt. Für Vektorfeldbilder wird der Schwellenwert nicht auf Grauwerte sondern auf die Länge der Vektoren angewandt.

Achtung

Für ganzzahlige Bildtypen werden Fließkommawerte in MinGrayMinGrayMinGrayMinGrayminGray und MaxGrayMaxGrayMaxGrayMaxGraymaxGray abgeschnitten.

Ausführungsinformationen

Parameter

ImageImageImageImageimage (input_object)  singlechannelimage(-array) objectHImageHImageHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real / vector_field)

Eingabebild.

RegionRegionRegionRegionregion (output_object)  region(-array) objectHRegionHRegionHobject *

Segmentierte Region.

MinGrayMinGrayMinGrayMinGrayminGray (input_control)  number(-array) HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Untere Schwelle für die Grauwerte.

Defaultwert: 128.0

Wertevorschläge: 0.0, 10.0, 30.0, 64.0, 128.0, 200.0, 220.0, 255.0

MaxGrayMaxGrayMaxGrayMaxGraymaxGray (input_control)  number(-array) HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Obere Schwelle für die Grauwerte.

Defaultwert: 255.0

Wertevorschläge: 0.0, 10.0, 30.0, 64.0, 128.0, 200.0, 220.0, 255.0

Restriktion: MaxGray >= MinGray

Beispiel (HDevelop)

read_image(Image,'fabrik')
sobel_dir(Image,EdgeAmp,EdgeDir,'sum_abs',3)
threshold(EdgeAmp,Seg,50,255)
skeleton(Seg,Rand)
connection(Rand,Lines)
select_shape(Lines,Edges,'area','and',10,1000000)

Beispiel (C)

read_image(&Image,"fabrik");
sobel_amp(Image,&EdgeAmp,"sum_abs",3);
threshold(EdgeAmp,&Seg,50.0,255.0);
skeleton(Seg,&Rand);
connection(Rand,&Lines);
select_shape(Lines,&Edges,"area","and",10.0,1000000.0);

Beispiel (HDevelop)

read_image(Image,'fabrik')
sobel_dir(Image,EdgeAmp,EdgeDir,'sum_abs',3)
threshold(EdgeAmp,Seg,50,255)
skeleton(Seg,Rand)
connection(Rand,Lines)
select_shape(Lines,Edges,'area','and',10,1000000)

Beispiel (HDevelop)

read_image(Image,'fabrik')
sobel_dir(Image,EdgeAmp,EdgeDir,'sum_abs',3)
threshold(EdgeAmp,Seg,50,255)
skeleton(Seg,Rand)
connection(Rand,Lines)
select_shape(Lines,Edges,'area','and',10,1000000)

Beispiel (HDevelop)

read_image(Image,'fabrik')
sobel_dir(Image,EdgeAmp,EdgeDir,'sum_abs',3)
threshold(EdgeAmp,Seg,50,255)
skeleton(Seg,Rand)
connection(Rand,Lines)
select_shape(Lines,Edges,'area','and',10,1000000)

Komplexität

Sei A die Fläche der Eingaberegion, dann ist die Laufzeitkomplexität O(A).

Ergebnis

thresholdthresholdThresholdThresholdThreshold liefert den Wert 2 (H_MSG_TRUE), falls die Parameter korrekt sind. 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", '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" einstellbar (siehe set_systemset_systemSetSystemSetSystemSetSystem). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

histo_to_threshhisto_to_threshHistoToThreshHistoToThreshHistoToThresh, min_max_graymin_max_grayMinMaxGrayMinMaxGrayMinMaxGray, sobel_ampsobel_ampSobelAmpSobelAmpSobelAmp, binomial_filterbinomial_filterBinomialFilterBinomialFilterBinomialFilter, gauss_filtergauss_filterGaussFilterGaussFilterGaussFilter, reduce_domainreduce_domainReduceDomainReduceDomainReduceDomain, fill_interlacefill_interlaceFillInterlaceFillInterlaceFillInterlace

Nachfolger

connectionconnectionConnectionConnectionConnection, dilation1dilation1Dilation1Dilation1Dilation1, erosion1erosion1Erosion1Erosion1Erosion1, openingopeningOpeningOpeningOpening, closingclosingClosingClosingClosing, rank_regionrank_regionRankRegionRankRegionRankRegion, shape_transshape_transShapeTransShapeTransShapeTrans, skeletonskeletonSkeletonSkeletonSkeleton

Alternativen

class_2dim_supclass_2dim_supClass2dimSupClass2dimSupClass2dimSup, hysteresis_thresholdhysteresis_thresholdHysteresisThresholdHysteresisThresholdHysteresisThreshold, dyn_thresholddyn_thresholdDynThresholdDynThresholdDynThreshold, binary_thresholdbinary_thresholdBinaryThresholdBinaryThresholdBinaryThreshold, char_thresholdchar_thresholdCharThresholdCharThresholdCharThreshold, auto_thresholdauto_thresholdAutoThresholdAutoThresholdAutoThreshold, dual_thresholddual_thresholdDualThresholdDualThresholdDualThreshold

Siehe auch

zero_crossingzero_crossingZeroCrossingZeroCrossingZeroCrossing, background_segbackground_segBackgroundSegBackgroundSegBackgroundSeg, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowing

Modul

Foundation