Ich versuche, eine modifizierte Version des otsu-Binärisierungsalgorithmus zu implementieren. Ich versuche, Dokumentbilder zu binarisieren. Bei der Binärisierung möchte ich jedoch, dass das Objekt (in diesem Fall der Text) seinen ursprünglichen Graustufenwert beibehält, während der Hintergrund den Wert 255 annimmt. das heißt, weiß. Ich veröffentliche eine Beispielbildversion, die ich in einem Artikel gefunden habe.
Dies ist das Originalbild:
Dies ist das resultierende Bild, das ich erhalten möchte:
Könnte mir bitte jemand sagen, wie es in Matlab geht?
image-processing
matlab
thresholding
Kennzeichen
quelle
quelle
Antworten:
Ich habe Matlab nicht zur Hand, aber hier ist, wie Sie es in OpenCV machen . Im folgenden Beispiel wird die Python-Oberfläche über Python (x, y) verwendet :
Dies führt zu Ihrer gewünschten Ausgabe:
EDIT: Ich habe keine Kopie von Matlab, aber ich denke, so würden Sie es machen (vorausgesetzt, Sie haben die Image Processing Toolbox):
Verwenden Sie Graythresh , um den Otsu-Level zu erhalten, und setzen Sie dann alles über diesem Level auf Weiß (oder 255).
Ich hoffe, das hilft!
quelle
Mit Mathematica geht das ganz einfach:
Das Negations- und Multiplikationsgeschäft besteht darin, die Beibehaltung des ursprünglichen Graustufenwerts sicherzustellen. Sie können dies leicht in jede Sprache übersetzen, denke ich.
quelle