2016-11-19 3 views
2

Ich habe ziemlich einfache Bilder, aber Tesseract ist nicht erfolgreich, um mir richtige Antworten zu geben.Python tesseract erhöhen Genauigkeit für OCR

Code:

pytesseract.image_to_string(image, lang='eng') 

enter image description here

Beispielbild ein Ergebnis von

SARVN PRIM E N EU ROPTICS\nBLU EPRINT 

gibt Ich habe auch versucht, meine eigenen Worte Wörterbuch hinzuzufügen, wenn es etwas besser macht, aber immer noch nein.

pytesseract.image_to_string(image, lang='eng', config="--user-words words.txt") 

Meine Wortliste sieht wie folgt aus

SARYN 
PRIME 
NEUROPTICS 
BLUEPRINT 

Wie soll ich das Problem nähern, vielleicht muss ich vor der Vorhersage der Bild-Format konvertieren? Die Textfarbe könnte zwischen ein paar Farben variieren, aber Hintergrund ist immer schwarz.

Antwort

1

Versuchen Sie, das Bild umzukehren und dann einen Binarisierungs-/Schwellenwertprozess durchzuführen, um schwarzen Text auf weißem Hintergrund zu erhalten, bevor Sie versuchen, OCR zu verwenden.

Weitere Informationen zur Binarisierung eines Bildes in Python finden Sie unter this post.

Natürlich, je besser die Qualität und je schärfer der Text im Eingabebild ist, desto besser werden Ihre OCR-Ergebnisse sein.

Ich benutzte ein externes Werkzeug, um es auf schwarz auf weiß zu ändern und erhielt das Bild unten.

Inverted and Binarized