local_thresholdlocal_thresholdLocalThresholdLocalThresholdlocal_threshold (Operator)

Name

local_thresholdlocal_thresholdLocalThresholdLocalThresholdlocal_threshold — Segmentieren mit lokalen Schwellenwertoperationen.

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)

def local_threshold(image: HObject, method: str, light_dark: str, gen_param_name: MaybeSequence[str], gen_param_value: MaybeSequence[Union[int, float]]) -> HObject

Beschreibung

local_thresholdlocal_thresholdLocalThresholdLocalThresholdLocalThresholdlocal_threshold 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 Schwellenwertverfahren und liefert gute Ergebnisse auf Bildern von Dokumenten.

Adaptives Schwellenwertverfahren

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 Schwellenwertverfahren 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 Vordergrunds (siehe Parameter LightDarkLightDarkLightDarkLightDarklightDarklight_dark) wird für ein Pixel an Position (r,c) die lokale Schwelle T(r,c) in einem Fenster der Größe 'mask_size'"mask_size""mask_size""mask_size""mask_size""mask_size" x 'mask_size'"mask_size""mask_size""mask_size""mask_size""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 Schwellenwert 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 LightDarkLightDarkLightDarkLightDarklightDarklight_dark steuert, ob helle oder dunkle Strukturen segmentiert werden sollen.

Mit Hilfe der generischen Parameter GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name und GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value können folgende Parameter des Verfahrens beeinflusst 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, 21, 31.

Default: 15.

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

bestimmt den Parameter k ( ), der kontrolliert wie stark der Schwellenwert 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, 0.3, 0.5.

Default: 0.2.

'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_grayMinMaxGrayMinMaxGrayMinMaxGraymin_max_gray bestimmt werden können.

Vorgeschlagene Werte: 128, 32767.5.

Default: 128 (für byte-Bilder), 32767.5 (für uint2-Bilder)

Achtung

Beachten Sie, dass Filteroperatoren eventuell unerwartete Resultate ausgeben, wenn ein Bild mit einer reduzierten Domäne als Input übergeben wird. Weitere Informationen können im Kapitel Filter gefunden werden.

Ausführungsinformationen

Parameter

ImageImageImageImageimageimage (input_object)  singlechannelimage(-array) objectHImageHObjectHImageHobject (byte / uint2)

Eingabebild.

RegionRegionRegionRegionregionregion (output_object)  region(-array) objectHRegionHObjectHRegionHobject *

Segmentierte Ausgaberegion.

MethodMethodMethodMethodmethodmethod (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (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"

LightDarkLightDarkLightDarkLightDarklightDarklight_dark (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Segmentierung des Vordergrunds oder des Hintergrunds.

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

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

GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (input_control)  attribute.name(-array) HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (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"

GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value (input_control)  attribute.value(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (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

connectionconnectionConnectionConnectionConnectionconnection, select_shapeselect_shapeSelectShapeSelectShapeSelectShapeselect_shape, select_grayselect_graySelectGraySelectGraySelectGrayselect_gray

Alternativen

auto_thresholdauto_thresholdAutoThresholdAutoThresholdAutoThresholdauto_threshold, binary_thresholdbinary_thresholdBinaryThresholdBinaryThresholdBinaryThresholdbinary_threshold, char_thresholdchar_thresholdCharThresholdCharThresholdCharThresholdchar_threshold

Siehe auch

gray_histogray_histoGrayHistoGrayHistoGrayHistogray_histo, thresholdthresholdThresholdThresholdThresholdthreshold

Literatur

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

Modul

Foundation