thresholdthresholdThresholdThresholdthreshold (Operator)

Name

thresholdthresholdThresholdThresholdthreshold — 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)

def threshold(image: HObject, min_gray: MaybeSequence[Union[int, float, str]], max_gray: MaybeSequence[Union[int, float, str]]) -> HObject

Beschreibung

thresholdthresholdThresholdThresholdThresholdthreshold 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 MinGrayMinGrayMinGrayMinGrayminGraymin_gray und MaxGrayMaxGrayMaxGrayMaxGraymaxGraymax_gray), 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. Um die Grenzen nach unten oder oben offen zu lassen, kann statt eines Wertes auch 'min'"min""min""min""min""min" beziehungsweise 'max'"max""max""max""max""max" für MinGrayMinGrayMinGrayMinGrayminGraymin_gray und MaxGrayMaxGrayMaxGrayMaxGraymaxGraymax_gray gesetzt werden.

Achtung

Für ganzzahlige Bildtypen werden Fließkommawerte in MinGrayMinGrayMinGrayMinGrayminGraymin_gray und MaxGrayMaxGrayMaxGrayMaxGraymaxGraymax_gray abgeschnitten.

Ausführungsinformationen

Parameter

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

Eingabebild.

RegionRegionRegionRegionregionregion (output_object)  region(-array) objectHRegionHObjectHRegionHobject *

Segmentierte Region.

MinGrayMinGrayMinGrayMinGrayminGraymin_gray (input_control)  number(-array) HTupleMaybeSequence[Union[int, float, str]]HTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

Untere Schwelle für die Grauwerte oder 'min'"min""min""min""min""min".

Defaultwert: 128.0

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

MaxGrayMaxGrayMaxGrayMaxGraymaxGraymax_gray (input_control)  number(-array) HTupleMaybeSequence[Union[int, float, str]]HTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

Obere Schwelle für die Grauwerte oder 'max'"max""max""max""max""max".

Defaultwert: 255.0

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

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

thresholdthresholdThresholdThresholdThresholdthreshold liefert den Wert 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""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_systemSetSystemSetSystemSetSystemset_system). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

histo_to_threshhisto_to_threshHistoToThreshHistoToThreshHistoToThreshhisto_to_thresh, min_max_graymin_max_grayMinMaxGrayMinMaxGrayMinMaxGraymin_max_gray, sobel_ampsobel_ampSobelAmpSobelAmpSobelAmpsobel_amp, binomial_filterbinomial_filterBinomialFilterBinomialFilterBinomialFilterbinomial_filter, gauss_filtergauss_filterGaussFilterGaussFilterGaussFiltergauss_filter, reduce_domainreduce_domainReduceDomainReduceDomainReduceDomainreduce_domain, fill_interlacefill_interlaceFillInterlaceFillInterlaceFillInterlacefill_interlace

Nachfolger

connectionconnectionConnectionConnectionConnectionconnection, dilation1dilation1Dilation1Dilation1Dilation1dilation1, erosion1erosion1Erosion1Erosion1Erosion1erosion1, openingopeningOpeningOpeningOpeningopening, closingclosingClosingClosingClosingclosing, rank_regionrank_regionRankRegionRankRegionRankRegionrank_region, shape_transshape_transShapeTransShapeTransShapeTransshape_trans, skeletonskeletonSkeletonSkeletonSkeletonskeleton

Alternativen

class_2dim_supclass_2dim_supClass2dimSupClass2dimSupClass2dimSupclass_2dim_sup, hysteresis_thresholdhysteresis_thresholdHysteresisThresholdHysteresisThresholdHysteresisThresholdhysteresis_threshold, dyn_thresholddyn_thresholdDynThresholdDynThresholdDynThresholddyn_threshold, binary_thresholdbinary_thresholdBinaryThresholdBinaryThresholdBinaryThresholdbinary_threshold, char_thresholdchar_thresholdCharThresholdCharThresholdCharThresholdchar_threshold, auto_thresholdauto_thresholdAutoThresholdAutoThresholdAutoThresholdauto_threshold, dual_thresholddual_thresholdDualThresholdDualThresholdDualThresholddual_threshold

Siehe auch

zero_crossingzero_crossingZeroCrossingZeroCrossingZeroCrossingzero_crossing, background_segbackground_segBackgroundSegBackgroundSegBackgroundSegbackground_seg, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowingregiongrowing

Modul

Foundation