Tesseract
A partir de 2018, el mejor software de OCR de código abierto disponible es Tesseract 4 (beta) con su nuevo modelo de OCR de red neuronal LSTM . Su rendimiento OCR es mucho mejor que el modelo OCR anterior utilizado en la versión 3.
Ejemplo (producir un archivo PDF output.pdf
con una capa de texto para un documento alemán escaneado):
$ echo page-*.png > input.list
$ tesseract --oem 1 -l deu input.list output pdf
Imprima el texto reconocido en stdout:
$ tesseract --oem 1 -l deu page page-0001.png stdout
Lista de idiomas instalados:
$ tesseract --list-langs
El soporte para muchos idiomas / script está disponible en forma de conjuntos de datos capacitados descargables , por ejemplo, incluso hay un conjunto de datos para Fraktur.
Con el nuevo modelo LSTM, Tesseract se inspira en el proyecto de investigación OCRopus .
La versión 3 de Tesseract funciona relativamente mal incluso en imágenes de entrada de buena calidad, es decir, a menudo detecta falsamente caracteres individuales en píxeles de polvo (fuera de cualquier contexto textual) e introduce fácilmente errores de caracteres únicos en palabras conocidas.
Cuneiforme
El rendimiento de OCR cuneiforme no es tan malo, pero no se mantiene activamente (última versión en 2011, versión 1.1) y se bloquea fácilmente y tiene algunos otros problemas:
Puede deshabilitar el algoritmo de diseño de esta manera:
$ cuneiform --singlecolumn -l ger -f text -o foo.txt image-0001
( -l
especifica el idioma del documento fuente)
ocrad
$ ocrad -F utf8 image-0001
El texto se imprime por defecto en stdout.
En un documento comercial, se perdió una palabra subrayada, donde cuneiforme / tesseract / gocr no.
gocr
$ gocr image-0001
El texto se imprime por defecto en stdout.
Hardware
Sane tiene muy buen soporte para muchos escáneres de alimentación automática de documentos (ADF), por ejemplo, para los de Avision y Fujitsu .
Con Sane se incluye el scanimage
programa de línea de comandos que puede usar para construir tuberías de escaneo con secuencias de comandos (por ejemplo, mi adf2pdf.py
secuencia de comandos).