KlassenKlassenKlassenKlassen | | | | Operatoren

local_thresholdlocal_thresholdLocalThresholdlocal_thresholdLocalThresholdLocalThreshold (Operator)

Name

local_thresholdlocal_thresholdLocalThresholdlocal_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)

Herror local_threshold(Hobject Image, Hobject* Region, const HTuple& Method, const HTuple& LightDark, const HTuple& GenParamName, const HTuple& GenParamValue)

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

HRegionArray HImageArray::LocalThreshold(const HTuple& Method, const HTuple& LightDark, const HTuple& GenParamName, const HTuple& GenParamValue) const

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

void HOperatorSetX.LocalThreshold(
[in] IHUntypedObjectX* Image, [out] IHUntypedObjectX*Region, [in] VARIANT Method, [in] VARIANT LightDark, [in] VARIANT GenParamName, [in] VARIANT GenParamValue)

IHRegionX* HImageX.LocalThreshold(
[in] BSTR Method, [in] BSTR LightDark, [in] VARIANT GenParamName, [in] VARIANT GenParamValue)

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_thresholdLocalThresholdlocal_thresholdLocalThresholdLocalThreshold segmentiert ein einkanaliges Bild ImageImageImageImageImageimage mit dem in MethodMethodMethodMethodMethodmethod angegebenen Verfahren und gibt die segmentierte RegionRegionRegionRegionRegionregion zurück. Der Operator bietet momentan das Verfahren 'adapted_std_deviation'"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""adapted_std_deviation" als Verfahren in MethodMethodMethodMethodMethodmethod 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 LightDarkLightDarkLightDarkLightDarkLightDarklightDark) 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""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""range") ist der maximal erwartete Wert der Standardabweichung (R = 128 für byte-Bilder) und k (siehe 'scale'"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 LightDarkLightDarkLightDarkLightDarkLightDarklightDark steuert, ob helle oder dunkle Strukturen segmentiert werden sollen.

Mit Hilfe der generischen Parameter GenParamNameGenParamNameGenParamNameGenParamNameGenParamNamegenParamName und GenParamValueGenParamValueGenParamValueGenParamValueGenParamValuegenParamValue können folgende Parameter des Verfahrens beinflusst werden:

'mask_size'"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""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""mask_size" gerade, wird die nächst höhere ungerade Größe verwendet.

Vorgeschlagene Werte: 15 (default), 21, 31

'scale'"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""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""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""range" auf gesetzt werden, wobei MinGray und MaxGray die minimalen und maximalen Grauwerte sind, die mit min_max_graymin_max_grayMinMaxGraymin_max_grayMinMaxGrayMinMaxGray bestimmt werden können.

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

Parallelisierung

Parameter

ImageImageImageImageImageimage (input_object)  singlechannelimage(-array) objectHImageHImageHImageHImageXHobject (byte / uint2)

Eingabebild.

RegionRegionRegionRegionRegionregion (output_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject *

Segmentierte Ausgaberegion.

MethodMethodMethodMethodMethodmethod (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Auswahl des Verfahrens.

Defaultwert: 'adapted_std_deviation' "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""adapted_std_deviation"

LightDarkLightDarkLightDarkLightDarkLightDarklightDark (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Segmentierung des Vordergunds oder des Hintergrunds.

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

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

GenParamNameGenParamNameGenParamNameGenParamNameGenParamNamegenParamName (input_control)  attribute.name(-array) HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Liste der generischen Parameter.

Defaultwert: []

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

GenParamValueGenParamValueGenParamValueGenParamValueGenParamValuegenParamValue (input_control)  attribute.value(-array) HTupleHTupleHTupleVARIANTHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double) (Hlong / double) (Hlong / double)

Liste der Werte für die generischen Parameter.

Defaultwert: []

Wertevorschläge: 0.2, 15, 30, 128.0

Nachfolger

connectionconnectionConnectionconnectionConnectionConnection, select_shapeselect_shapeSelectShapeselect_shapeSelectShapeSelectShape, select_grayselect_graySelectGrayselect_graySelectGraySelectGray

Alternativen

auto_thresholdauto_thresholdAutoThresholdauto_thresholdAutoThresholdAutoThreshold, binary_thresholdbinary_thresholdBinaryThresholdbinary_thresholdBinaryThresholdBinaryThreshold, char_thresholdchar_thresholdCharThresholdchar_thresholdCharThresholdCharThreshold

Siehe auch

gray_histogray_histoGrayHistogray_histoGrayHistoGrayHisto, thresholdthresholdThresholdthresholdThresholdThreshold

Literatur

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

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren