Sto tentando di creare un'applicazione python risposta carta (domanda a scelta multipla). Il foglio delle risposte sarà scansionato in un file immagine (gif, png, jpg, qualunque sia il formato necessario).OCR Python: conversione dell'immagine scansionata in testo per l'elaborazione
La mia app ha accesso al database in cui sono archiviate tutte le risposte.
Quindi, tutto ciò che serve è una sorta di dati dall'immagine scansionata in modo che possa confrontare la risposta e calcolare i segni.
Il foglio di risposta ha fissato dimensioni con il formato tabella come questa (Le risposte saranno contrassegnati da 'X' dal candidato per indicare le loro risposte):
Dopo la ricerca attraverso internet, i trovato che ci sono alcune API OCR disponibili.
Il primo è Pytesser
. È molto facile da usare ed i risultati sono abbastanza buoni. Ma funziona solo per le immagini con testi puramente puri. Quindi, penso che non sia adatto.
Il secondo che ho trovato è Ocropus
. Sembra potente, ma nella sua documentazione
di Windows
OCRopus si basa molto su nomi di percorso POSIX e file system. Potrebbe essere possibile installare OCRopus su Windows utilizzando. Un modo più semplice è installare VirtualBox ed eseguire OCRopus in Ubuntu sotto VirtualBox.
Quindi penso che sia principalmente per linux. Non sono riuscito a trovare una guida all'installazione dettagliata per la piattaforma della finestra. (Sono un principiante, quindi potrei sbagliarmi)
Il terzo che ho trovato è python-tesseract
, un wrapper per Tesseract OCR
. Nel loro page, è stata fornita la guida di installazione. Fondamentalmente, ho bisogno,
- python-tesseract-win32.deb
- python-OpenCV
- NumPy
ma non ho idea su come installare .deb
file sulla finestra. Ho già installato opencv
e nampy
.
Così il seguente sono le mie domande:
(1) In che modo posso convertire l'immagine al tavolo in dati processabili (è anche possibile?)?
(2) Esistono altre utili API OCR che non ho menzionato qui che potrebbero essere utili?
(3) Infine, (mio stupido idea) E 'possibile dividere l'immagine in piccoli mandrini (in base alle dimensioni delle celle della tabella - poiché le dimensioni dei tavoli sono noti) utilizzando PIL
e quindi utilizzare pytesser
per convertire ogni piccole immagini in testo, quindi elaborare i dati di conseguenza?
FYI: Ne ho solo bisogno per Windows Platform, possibilmente per Windows xp 32 bit. Sto usando Python 2.7.5.
.deb sono file Deiban/Ubuntu pachage di Linux, in pratica non si installano quelli su Windows. – McAbra