OCR für Zahlen mit grauem Hintergrund

4198
ItsMe

Ich habe versucht, OCR auf mehreren gescannten Blättern mit Zahlen wie diesem Bild auszuführen (alle mit gleichem Hintergrund, nur Ziffern):

enter image description here

Aber alle Versuche sind fehlgeschlagen! Ich habe Offline-OCRs ausprobiert: Gocr, Tesseract und ein paar Online-OCRs; aber alles total gescheitert!

Was soll ich machen?

7

3 Antworten auf die Frage

8
Cornelius

Zuerst müssen Sie diese Bilder anpassen. Ich empfehle ein Batch-Tool wie XnViewMP, das kostenlos und multiplattformfähig ist.

Es hat einen Datei-Explorer. Wählen Sie alle Ihre Bilder aus und gehen Sie zu " Extras - Stapelverarbeitung" . Aktionen hinzufügen wie ich:

XNViewMP - Batch convert - Actions tab

Hier sind meine Handlungen:

  1. HLS - machen Sie Graustufen:
    • Farbton: 0
    • Helligkeit: 0
    • Sättigung: -127
  2. Levels - Senken Sie den Schwarzpegel ein wenig, damit das Graurauschen verschwindet
    • Schwarzpunkt: 0
    • Weißpunkt: 212 - kann je nach Bild variieren
  3. Lärmminderung Filter
  4. Stellen Sie den Kontrast ein, um ihn zu erhöhen
    • Helligkeit: 0
    • Kontrast: 127 - das zählt
    • Gamma: 1,06
  5. Minimum, um das Schwarz dicker zu machen
    • Filtergröße: 5x5 - kann je nach Bild variieren

Vergessen Sie nicht zu speichern als tiff(Siehe Registerkarte " Ausgabe" ). Danach laufe ich tesseract:

tesseract test.tif text -psm 7 

Hinweis Ich habe den PSM-Modus 7 ausgewählt: Das Bild wird als einzelne Textzeile behandelt. Wenn Sie mehrere Zeilen haben, müssen Sie wahrscheinlich Modus 6 oder 3 verwenden.

Und hier sind die Inhalte der text.txtAusgabedatei:

570 394 666 638 043 
Ich frage mich, ob diese Aktionen auch mit [GraphicsMagick] (http://www.graphicsmagick.org) durchgeführt werden können. Cristian Ciupitu vor 10 Jahren 2
2
Vitalik

Ich habe versucht, Ihr Bild mit der OCR-Technologie von ABBYY zu erkennen : OCR SDK result

Weitere Informationen zu den Produkten von ABBYY finden Sie unter abbyy.com .
Ich arbeite für ABBYY und bin bereit zu helfen, wenn Sie Fragen haben.

Gibt es einen Nur-Ziffern-Modus? Um die Erkennungsrate von zerkratzten Bildern zu erhöhen? ItsMe vor 10 Jahren 0
0
jram
 import cv2 import numpy as np import pytesseract  im= cv2.imread('noisyNumbers.png',cv2.IMREAD_GRAYSCALE)  cv2.imshow('Gray', im) cv2.imwrite('noisyNumbers.jpg', im)  print(pytesseract.image_to_string(Image.open('noisyNumbers.jpg'))) 
Willkommen bei Super User! Können Sie Ihre Antwort bearbeiten, um den oben angegebenen Code zu erläutern? Vielen Dank! bertieb vor 6 Jahren 1