Ich versuche, eine Antwort Papiermarkierung (Multiple-Choice-Frage) Python-Anwendung zu erstellen. Der Antwortbogen wird in die Bilddatei eingescannt (gif, png, jpg, welches Format auch immer benötigt wird).Python OCR: Konvertiertes gescanntes Bild in Text für die Verarbeitung
Meine App hat Zugriff auf die Datenbank, in der alle Antworten gespeichert sind.
Also alles, was es braucht, ist eine Art von Daten aus dem gescannten Bild, so dass es die Antwort vergleichen und die Marken berechnen kann.
Das Antwortblatt hat wie diese Dimensionen mit dem Tabellenformat festgelegt (Antworten von ‚X‘ durch den Kandidaten markiert werden ihre Antworten auf angeben):
Nach über das Internet sucht, i festgestellt, dass ein paar OCR-APIs verfügbar sind.
Die erste ist Pytesser
. Es ist sehr einfach zu bedienen und die Ergebnisse sind in Ordnung. Aber es funktioniert nur für die Bilder mit reinen Texten. Also, ich denke, es ist nicht geeignet.
Die zweite, die ich fand, ist Ocropus
. Es scheint, mächtig, aber in seiner Dokumentation
Windows-
OCRopus auf POSIX-Pfadnamen und Dateisystemen viel abhängt. Sie können möglicherweise OCRopus unter Windows mit installieren. Ein einfacher Weg ist VirtualBox zu installieren und OCRopus in Ubuntu unter VirtualBox zu starten.
Also ich denke, es ist vor allem für Linux. Ich konnte keine detaillierte Installationsanleitung für die Fensterplattform finden. (Ich bin ein Anfänger, also könnte ich falsch liegen)
Die dritte, die ich fand, ist python-tesseract
, ein Wrapper für Tesseract OCR
. In ihrer page wurde die Installationsanleitung bereitgestellt. Im Grunde brauche ich,
- python-tesseract-win32.deb
- python-opencv
- numpy
aber ich habe keine Ahnung, wie .deb
Dateien auf Fenster zu installieren. Ich habe die opencv
und nampy
bereits installiert.
Also folgendes sind meine Fragen:
(1) In welcher Weise kann ich das Tabellenbild in verarbeitbare Daten konvertieren (ist es sogar möglich?)?
(2) Gibt es weitere nützliche OCR-APIs, die ich hier nicht erwähnt habe, die hilfreich sein könnten?
(3) Schließlich, (meine dumme Idee) ist es möglich, das Bild in kleine Chucks (basierend auf der Größe der Tabellenzellen - da die Tabelle Abmessungen bekannt sind) unter Verwendung PIL
zu teilen und dann pytesser
verwenden, um jedes zu konvertieren kleine Bilder in Text, danach die Daten entsprechend aufbereiten?
FYI: Ich brauche es nur für Windows-Plattform, möglicherweise für Windows XP 32 Bit. Ich benutze Python 2.7.5.
.deb sind Linux Deiban/Ubuntu Pachage-Dateien, die Sie normalerweise nicht unter Windows installieren. – McAbra