Vorwort
Mit der Binarisierung ist das Überführen eines Farb- oder Graustufenbildes in eine monochrome, dh. nur schwarze oder weiße Pixel enthaltene Dartsellung.
Gescannte Vorlagen binarisiert man aus zwei Gründen, zum einen sparen monochrome Bilder Speicherplatz, zum anderen soll mit der Binarisierung versucht werden, den Kontrast der Scanvorlagen so zu erhöhen, daß eine eindeutige Zuordnung zwischen Vordergrund und Hintergrund möglich ist.
Schwierig bis unsinnig ist die Binarisierung dann, wenn man mehrfarbige Schrift ev. sogar auf mehrfarbige Hintergründe hat. Auf dieses Problem gehe ich in einem zukünftigen Beitrag ein. Nicht sinnvoll ist Binarisierung von Photos (abgesehen von einer künstlerisch gewollten Gestaltung).
Schwellwert-Variante
Das einfachste Verfahren ist das Schwellwertverfahren. Dazu wandeln wir das Eingangsbild im RGB-Modus zum Beispiel nach der Formel
Y = 0.212671 * R + 0.715160 * G + 0.072169 * B;
(aus: ITU-R Recommendation BT.709, Basic Parameter Values for the HDTV
Standard for the Studio and for International Programme Exchange (1990),
[formerly CCIR Rec. 709], ITU, 1211 Geneva 20, Switzerland.)
Wenn wir nun einen geeigneten Schwellwert zwischen 0.0 und 1.0 finden, haben wir eine einfache Binarisierung erreicht, wie sie zum Beispiel Gimp anbietet.
Der Nachteil des Schwellwertverfahrens wird dann deutlich, wenn wir annehmen der optimale Schwellwert wäre 0.5 und die Schrift ist grau mit Wert 0,5 auf dunklem Hintergrund im ersten Teil des Bildes und weiß mit Wert 1,0 auf hellem Hintergrund mit Wert 0,5 des anderen Teil des Bildes. Würden wir einen globalen Schwellwert anwenden, würde ein Teil der Schrift dann untergehen.
Würden wir stattdessen immer die lokale Umgebung eines Pixels betrachten, zB. 30x30 Pixel um den aktuellen herum, würde das Ergebnis so aussehen:
Nachteilig bei lokalen Verfahren ist die deutlich höhere Rechenzeit, da für jeden Pixel die nähere Umgebung angeschaut werden muß.
Hier die Ergebnisse:
T = m + K* s
mit K=0,2
Wenn der Pixelwert P > T ist wird er weiß eingefärbt, sonst schwarz.
T = m + ( 1 + (0,6 * (s / r - 1.0))
mit r = 128 für 256 Grauwerte.
Und bei Sezgin and Sankur findet man im "Survey over image thresholding techniques and quantitive performance evaluation", Journal of Electronic Imaging 13(1), 146-165 (January 2004) eine Überblicksanalyse.
[formerly CCIR Rec. 709], ITU, 1211 Geneva 20, Switzerland.)
Wenn wir nun einen geeigneten Schwellwert zwischen 0.0 und 1.0 finden, haben wir eine einfache Binarisierung erreicht, wie sie zum Beispiel Gimp anbietet.
Globale vs. lokale Anwendung
Der Nachteil des Schwellwertverfahrens wird dann deutlich, wenn wir annehmen der optimale Schwellwert wäre 0.5 und die Schrift ist grau mit Wert 0,5 auf dunklem Hintergrund im ersten Teil des Bildes und weiß mit Wert 1,0 auf hellem Hintergrund mit Wert 0,5 des anderen Teil des Bildes. Würden wir einen globalen Schwellwert anwenden, würde ein Teil der Schrift dann untergehen.
Graustufenbild | s/w-Bild mit globalem Threshold |
lokaler Threshold |
Nachteilig bei lokalen Verfahren ist die deutlich höhere Rechenzeit, da für jeden Pixel die nähere Umgebung angeschaut werden muß.
Verschiedene Verfahren
Es gibt etliche Verfahren, den "optimalen" Schwellwert, sowohl global, wie auch lokal zu bestimmen. Als Test habe ich das oben schon gezeigte Eingangsbild genommen. In der Praxis hat sich lokales Sauvola mit Fenster von 30x30 Pixeln bewährt.Hier die Ergebnisse:
|
|
||||||||
|
|
||||||||
|
Kurzfassung Algorithmus Niblack
Beim niblack-Algorithmus, wird der Mittelwert m und die Standardabweichung s über alle Pixelwerte gebildet und nach folgender Vorschrift angewandt:T = m + K* s
mit K=0,2
Wenn der Pixelwert P > T ist wird er weiß eingefärbt, sonst schwarz.
Kurzfassung Algorithmus Sauvola
Bei Sauvola sieht die Formel ein klein wenig anders aus:T = m + ( 1 + (0,6 * (s / r - 1.0))
mit r = 128 für 256 Grauwerte.
Weiterführende Infos
Ebenfalls einen guten Eindruck der verschiedenen Verfahren bietet Stackoverflow.Und bei Sezgin and Sankur findet man im "Survey over image thresholding techniques and quantitive performance evaluation", Journal of Electronic Imaging 13(1), 146-165 (January 2004) eine Überblicksanalyse.