2012-10-19 22 views
9

Sto utilizzando tesseract-ocr-3.01 per eseguire la scansione di molti moduli. I moduli seguono tutti un modello, quindi so già dove sono le regioni/i rettangoli del testo.Tesseract: specificare le aree di testo

C'è un modo per passare tali regioni a tesseract quando si utilizza lo strumento da riga di comando?

risposta

11

Ho trovato la risposta, grazie a this thread.

Sembra che tesseract supporti il ​​formato uzn (utilizzato nei test di unvl).

Dalla discussione:

Calling tesseract con il parametro "-psm 4" e rinominare il file uzn con lo stesso nome dell'immagine sembrano opere.

Esempio: Se abbiamo C:\input.tif e C:\input.uzn, facciamo questo:

tesseract -psm 4 C:\input.tif C:\output 
3

questo non può essere una risposta ottimale, ma qui va:

io non sono sicuro se lo strumento da riga di comando ha opzioni per specificare il testo-regioni.

Quello che puoi fare è usare un wrapper Tesseract su un'altra piattaforma (EmguCV ha incorporato Tesseract). Quindi ottieni l'immagine scansionata, ritaglia le regioni di testo e assegnale a Tesseract una alla volta. In questo modo eviterete anche eventuali inesattezze nell'analisi del layout di pagina di Tesseract.

es.

Image<Gray,Byte> scannedImage = new Image<Gray,Byte>(path_to_scanned_image); 
//assuming you know a text region 
Image<Gray,Byte> textRegion = new Image(100,20); 
scannedImage.ROI = new Rectangle(0,0,100,20); 
scannedImage.copyTo(textRegion); 
ocr.recognize(textRegion); 
+1

Hehe, che era il mio piano di riserva se Tesseract non accetta regioni :) – sashoalm

Problemi correlati