local_thresholdlocal_thresholdLocalThresholdLocalThreshold (Operator)

Name

local_thresholdlocal_thresholdLocalThresholdLocalThreshold — Segmentieren mit lokalen Schwellwertoperationen.

Signatur

local_threshold(Image : Region : Method, LightDark, GenParamName, GenParamValue : )

Herror local_threshold(const Hobject Image, Hobject* Region, const char* Method, const char* LightDark, const char* GenParamName, const Hlong GenParamValue)

Herror T_local_threshold(const Hobject Image, Hobject* Region, const Htuple Method, const Htuple LightDark, const Htuple GenParamName, const Htuple GenParamValue)

void LocalThreshold(const HObject& Image, HObject* Region, const HTuple& Method, const HTuple& LightDark, const HTuple& GenParamName, const HTuple& GenParamValue)

HRegion HImage::LocalThreshold(const HString& Method, const HString& LightDark, const HTuple& GenParamName, const HTuple& GenParamValue) const

HRegion HImage::LocalThreshold(const HString& Method, const HString& LightDark, const HString& GenParamName, Hlong GenParamValue) const

HRegion HImage::LocalThreshold(const char* Method, const char* LightDark, const char* GenParamName, Hlong GenParamValue) const

HRegion HImage::LocalThreshold(const wchar_t* Method, const wchar_t* LightDark, const wchar_t* GenParamName, Hlong GenParamValue) const   (Nur Windows)

static void HOperatorSet.LocalThreshold(HObject image, out HObject region, HTuple method, HTuple lightDark, HTuple genParamName, HTuple genParamValue)

HRegion HImage.LocalThreshold(string method, string lightDark, HTuple genParamName, HTuple genParamValue)

HRegion HImage.LocalThreshold(string method, string lightDark, string genParamName, int genParamValue)

Beschreibung

local_thresholdlocal_thresholdLocalThresholdLocalThresholdLocalThreshold segmentiert ein einkanaliges Bild ImageImageImageImageimage mit dem in MethodMethodMethodMethodmethod angegebenen Verfahren und gibt die segmentierte RegionRegionRegionRegionregion zurück. Der Operator bietet momentan das Verfahren 'adapted_std_deviation'"adapted_std_deviation""adapted_std_deviation""adapted_std_deviation""adapted_std_deviation" an. Dieses Verfahren ist ein lokales Schwellwertverfahren und liefert gute Ergebnisse auf Bildern von Dokumenten.

'adapted_std_deviation'

Bei der Wahl von 'adapted_std_deviation'"adapted_std_deviation""adapted_std_deviation""adapted_std_deviation""adapted_std_deviation" als Verfahren in MethodMethodMethodMethodmethod wird ein lokal adaptives Schwellwertverfahren basierend auf lokalem Mittelwert und Standardabweichung durchgeführt. Dieses Verfahren kann zum Beispiel Bilder von Dokumenten segmentieren, die durch Veränderungen in der Beleuchtung, durch Rauschen oder andere Effekte beeinflusst wurden. Es erlaubt die Segmentierung von Text auf inhomogenem Hintergrund durch Berücksichtigung des lokalen Kontrastes. Für die Segmentierung des dunklen Vordergunds (siehe Parameter LightDarkLightDarkLightDarkLightDarklightDark) wird für ein Pixel an Position (r,c) die lokale Schwelle T(r,c) in einem Fenster der Größe mask_size x mask_size (siehe 'mask_size'"mask_size""mask_size""mask_size""mask_size") wie folgt berechnet: Hier ist der lokale Mittelwert innerhalb des Fensters und die entsprechende Standardabweichung. Der Parameter R (siehe 'range'"range""range""range""range") ist der maximal erwartete Wert der Standardabweichung (R = 128 für byte-Bilder) und k (siehe 'scale'"scale""scale""scale""scale") der Parameter, der kontrolliert wie stark sich der Schwellwert T(r,c) vom Mittelwert unterscheidet.

Bei hohem Kontrast in der Nachbarschaft des Punktes (r,c) hat die Standardabweichung einen Wert nahe bei R, was zu einer Schwelle T(r,c) nahe dem lokalen Mittelwert führt. Bei niedrigem Kontrast ist die lokale Schwelle kleiner als der lokale Mittelwert. Für dunklen Text auf hellem Hintergrund der auch dunkle Regionen enthält, erlaubt dies die Segmentierung des Textes auch in den dunkleren Bereichen.

Der Parameter LightDarkLightDarkLightDarkLightDarklightDark steuert, ob helle oder dunkle Strukturen segmentiert werden sollen.

Mit Hilfe der generischen Parameter GenParamNameGenParamNameGenParamNameGenParamNamegenParamName und GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue können folgende Parameter des Verfahrens beinflusst werden:

'mask_size'"mask_size""mask_size""mask_size""mask_size":

bestimmt die Maskengröße, also die Größe der Nachbarschaft, in der die lokale Schwelle bestimmt wird. Je kleiner die Maskengröße ist, umso dünner werden segmentierte Strukturen. 'mask_size'"mask_size""mask_size""mask_size""mask_size" sollte größer als die Strichbreite der zu segmentierenden Zeichen oder Strukturen gesetzt werden. Ist 'mask_size'"mask_size""mask_size""mask_size""mask_size" gerade, wird die nächst höhere ungerade Größe verwendet.

Vorgeschlagene Werte: 15 (default), 21, 31

'scale'"scale""scale""scale""scale":

bestimmt den Parameter k ( ), der kontrolliert wie stark der Schwellwert vom lokalen Mittelwert abweicht. Kleinere Werte für 'scale'"scale""scale""scale""scale" führen dazu, dass auch Strukturen segmentiert werden, die einen geringeren Kontrast zum Hintergrund aufweisen. Größere Werte führen zur Unterdrückung von Artefakten.

Vorgeschlagene Werte: 0.2 (default), 0.3, 0.5

'range'"range""range""range""range":

bestimmt den maximalen Wert der Standardabweichung R. Dieser Wert sollte an den erwarteten Grauwertbereich angepasst werden. Als Faustregel kann der Wert für 'range'"range""range""range""range" auf gesetzt werden, wobei MinGray und MaxGray die minimalen und maximalen Grauwerte sind, die mit min_max_graymin_max_grayMinMaxGrayMinMaxGrayMinMaxGray bestimmt werden können.

Vorgeschlagene Werte: 128 (default) für byte-Bilder, 32767.5 (default) für uint2-Bilder

Ausführungsinformationen

Parameter

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

Eingabebild.

RegionRegionRegionRegionregion (output_object)  region(-array) objectHRegionHRegionHobject *

Segmentierte Ausgaberegion.

MethodMethodMethodMethodmethod (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Auswahl des Verfahrens.

Defaultwert: 'adapted_std_deviation' "adapted_std_deviation" "adapted_std_deviation" "adapted_std_deviation" "adapted_std_deviation"

Werteliste: 'adapted_std_deviation'"adapted_std_deviation""adapted_std_deviation""adapted_std_deviation""adapted_std_deviation"

LightDarkLightDarkLightDarkLightDarklightDark (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Segmentierung des Vordergunds oder des Hintergrunds.

Defaultwert: 'dark' "dark" "dark" "dark" "dark"

Werteliste: 'dark'"dark""dark""dark""dark", 'light'"light""light""light""light"

GenParamNameGenParamNameGenParamNameGenParamNamegenParamName (input_control)  attribute.name(-array) HTupleHTupleHtuple (string) (string) (HString) (char*)

Liste der generischen Parameter.

Defaultwert: []

Werteliste: 'mask_size'"mask_size""mask_size""mask_size""mask_size", 'range'"range""range""range""range", 'scale'"scale""scale""scale""scale"

GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue (input_control)  attribute.value(-array) HTupleHTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)

Liste der Werte für die generischen Parameter.

Defaultwert: []

Wertevorschläge: 0.2, 15, 30, 128.0

Nachfolger

connectionconnectionConnectionConnectionConnection, select_shapeselect_shapeSelectShapeSelectShapeSelectShape, select_grayselect_graySelectGraySelectGraySelectGray

Alternativen

auto_thresholdauto_thresholdAutoThresholdAutoThresholdAutoThreshold, binary_thresholdbinary_thresholdBinaryThresholdBinaryThresholdBinaryThreshold, char_thresholdchar_thresholdCharThresholdCharThresholdCharThreshold

Siehe auch

gray_histogray_histoGrayHistoGrayHistoGrayHisto, thresholdthresholdThresholdThresholdThreshold

Literatur

J. Sauvola, M. Pietikäinen, „Adaptive document image binarization", Pattern Recognition, 33, 225-236 (2000)

Modul

Foundation