auto_thresholdauto_thresholdAutoThresholdAutoThreshold (Operator)

Name

auto_thresholdauto_thresholdAutoThresholdAutoThreshold — Segmentieren mit Schwellen aus dem Histogramm.

Signatur

auto_threshold(Image : Regions : Sigma : )

Herror auto_threshold(const Hobject Image, Hobject* Regions, double Sigma)

Herror T_auto_threshold(const Hobject Image, Hobject* Regions, const Htuple Sigma)

void AutoThreshold(const HObject& Image, HObject* Regions, const HTuple& Sigma)

HRegion HImage::AutoThreshold(const HTuple& Sigma) const

HRegion HImage::AutoThreshold(double Sigma) const

static void HOperatorSet.AutoThreshold(HObject image, out HObject regions, HTuple sigma)

HRegion HImage.AutoThreshold(HTuple sigma)

HRegion HImage.AutoThreshold(double sigma)

Beschreibung

auto_thresholdauto_thresholdAutoThresholdAutoThresholdAutoThreshold segmentiert ein einkanaliges Bild mittels mehrfacher Schwellenwertsegmentation. Als erstes wird dabei das absolute Histogramm über den Grauwerten ermittelt. Dann werden im Histogramm relevante Minima gesucht, die schließlich nacheinander als Schwellen für die Schwellenwertsegmentation dienen. Die Schwellen bestehen für Bilder vom Typ byte aus den Werten 0 und 255 und aus allen Minima des Histogramms (nach der Histogrammglättung mit einem Gaußfilter mit Standardabweichung SigmaSigmaSigmaSigmasigma). Für jedes Grauwertintervall wird eine Region erzeugt. Die Anzahl der Regionen ist die Anzahl der Minima + 1. Für Bilder vom Typ uint2 gilt das oben beschriebene analog. Allerdings ist es hier so, dass die höchste Schwelle 65535 beträgt. Weiterhin bezieht sich bei uint2-Bildern der Wert von SigmaSigmaSigmaSigmasigma (virtuell) auf ein Histogramm mit 256 Werten, obwohl intern Histogramme mit einer höheren Auflösung verwendet werden. Dies dient dazu, den Parameter SigmaSigmaSigmaSigmasigma bei der Umstellung zwischen Bildtypen nicht ändern zu müssen. Für float Bilder sind die Schwellenwerte der minimale und maximale Grauwert aus dem Bild sowie alle Minima die aus dem Histogramm extrahiert wurden. Hier bezieht sich der Parameter SigmaSigmaSigmaSigmasigma auf die ursprünglichen Grauwerte. Um so größer der Wert von SigmaSigmaSigmaSigmasigma ist, um so weniger Regionen werden extrahiert. Das Verfahren ist dann einsetzbar, wenn die gesuchten Regionen einheitliche Grauwerte ausweisen (homogene Regionen).

Ausführungsinformationen

Parameter

ImageImageImageImageimage (input_object)  singlechannelimage(-array) objectHImageHImageHobject (byte / uint2 / real)

Eingabebild.

RegionsRegionsRegionsRegionsregions (output_object)  region-array objectHRegionHRegionHobject *

Regionen mit den Punkten innerhalb der Grauwertintervalle.

SigmaSigmaSigmaSigmasigma (input_control)  number HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Sigma für Gaußglättung des Histogramms.

Defaultwert: 2.0

Wertevorschläge: 0.0, 0.5, 1.0, 2.0, 3.0, 4.0, 5.0

Typischer Wertebereich: 0.0 ≤ Sigma Sigma Sigma Sigma sigma ≤ 100.0 (lin)

Minimale Schrittweite: 0.01

Empfohlene Schrittweite: 0.3

Restriktion: Sigma >= 0.0

Beispiel (HDevelop)

read_image (Image, 'fabrik')
median_image (Image, Median, 'circle', 3, 'mirrored')
auto_threshold (Median, Seg, 2.0)
connection (Seg, Connected)

Beispiel (C)

read_image(&Image,"fabrik");
median_image(Image,&Median,"circle",3,"mirrored");
auto_threshold(Median,&Seg,2.0);
connection(Seg,&Connected);
set_colored(WindowHandle,12);
disp_obj(Connected,WindowHandle);

Beispiel (HDevelop)

read_image (Image, 'fabrik')
median_image (Image, Median, 'circle', 3, 'mirrored')
auto_threshold (Median, Seg, 2.0)
connection (Seg, Connected)

Beispiel (HDevelop)

read_image (Image, 'fabrik')
median_image (Image, Median, 'circle', 3, 'mirrored')
auto_threshold (Median, Seg, 2.0)
connection (Seg, Connected)

Beispiel (HDevelop)

read_image (Image, 'fabrik')
median_image (Image, Median, 'circle', 3, 'mirrored')
auto_threshold (Median, Seg, 2.0)
connection (Seg, Connected)

Vorgänger

anisotropic_diffusionanisotropic_diffusionAnisotropicDiffusionAnisotropicDiffusionAnisotropicDiffusion, median_imagemedian_imageMedianImageMedianImageMedianImage, illuminateilluminateIlluminateIlluminateIlluminate

Nachfolger

connectionconnectionConnectionConnectionConnection, select_shapeselect_shapeSelectShapeSelectShapeSelectShape, select_grayselect_graySelectGraySelectGraySelectGray

Alternativen

binary_thresholdbinary_thresholdBinaryThresholdBinaryThresholdBinaryThreshold, char_thresholdchar_thresholdCharThresholdCharThresholdCharThreshold

Siehe auch

gray_histogray_histoGrayHistoGrayHistoGrayHisto, gray_histo_absgray_histo_absGrayHistoAbsGrayHistoAbsGrayHistoAbs, histo_to_threshhisto_to_threshHistoToThreshHistoToThreshHistoToThresh, smooth_funct_1d_gausssmooth_funct_1d_gaussSmoothFunct1dGaussSmoothFunct1dGaussSmoothFunct1dGauss, thresholdthresholdThresholdThresholdThreshold

Modul

Foundation