Operatoren |
binary_threshold — Segmentieren mit verschiedenen globalen Schwellwertoperationen.
binary_threshold(Image : Region : Method, LightDark : UsedThreshold)
binary_threshold segmentiert ein einkanaliges Bild Image mit einem automatisch bestimmten globalen Schwellwert und gibt die segmentierte Region zurück. Dies ist z.B. für die Segmentierung von Buchstaben und Zeichen auf gleichmäßig beleuchtetem Hintergrund geeignet. binary_threshold gibt auch den verwendeten Schwellwert in UsedThreshold zurück.
Der verwendete Schwellwert wird mit der in Method angegebenen Methode bestimmt. Derzeit stehen die beiden folgenden Methoden zur Verfügung: 'max_separability' und 'smooth_histo' . Beide Verfahren sollten nur auf Bilder angewendet werden, die ein bimodales Histogramm haben.
Die Methode 'smooth_histo' stellt die Funktionalität zur Verfügung, die vom Operator bin_threshold bereitgestellt wurde. Die Methode 'max_separability' ist weniger empfindlich gegenüber dünnen und isolierten Spitzen im Histogramm. Außerdem tendiert diese Methode dazu, Werte für UsedThreshold zu bestimmen, die näher am Schwerpunkt des Histogramms liegen. In vielen Fällen ist die Methode 'max_separability' schneller als 'smooth_histo' .
Bei der Wahl von 'max_separability' als Verfahren in Method wird eine automatische Bestimmung eines globalen Schwellwertes nach dem Verfahren von Otsu (siehe Referenzen) durchgeführt.
Der Algorithmus berechnet zuerst das Histogramm des Bildes und verwendet dann statistische Momente um die optimale Schwelle zu bestimmen. Die Schwelle trennt die Pixel so in Vordergrund und Hintergrund, dass die Streuung zwischen den beiden Klassen maximiert wird.
Für LightDark = 'light' werden alle Pixel mit Grauwert größer gleich ausgewählt.
Für LightDark = 'dark' werden alle Pixel mit Grauwert kleiner als ausgewählt.
Das Verfahren 'max_separability' ist nur für byte- und uint2-Bilder verfügbar.
Bei der Wahl von 'smooth_histo' als Verfahren in Method wird der optimale Schwellwert (r,c) wie folgt bestimmt: Als erstes wird dabei das relative Histogramm über den Grauwerten ermittelt. Dann werden im Histogramm relevante Minima gesucht, die als Schwellen für die Schwellenwertsegmentation dienen. Um die Anzahl der Minima zu reduzieren, wird das Histogramm wie bei auto_threshold mit einer Gaußmaske geglättet. Die Maske wird dabei so lange vergrößert, bis nur noch ein Minimum vorhanden ist.
Für LightDark = 'light' wird jedes Pixel p(r,c) dessen Grauwert größer gleich der lokalen Schwelle T(r,c) ist selektiert.
Für LightDark = 'dark' wird jedes Pixel p(r,c) dessen Grauwert kleiner als die lokale Schwelle T(r,c) ist selektiert.
Eingabebild.
Segmentierte Ausgaberegion.
Auswahl des Verfahrens.
Defaultwert: 'max_separability'
Werteliste: 'max_separability' , 'smooth_histo'
Segmentierung des Vordergunds oder des Hintergrunds.
Defaultwert: 'dark'
Werteliste: 'dark' , 'light'
Angewandte Schwelle.
connection, select_shape, select_gray
auto_threshold, char_threshold, local_threshold
N. Otsu, „A threshold selection method from gray level histograms",
IEEE Trans. Syst. Man. Cybern., Vol. SMC-9, 62-66 (1979)
Foundation
Operatoren |