Tesseract
A partir de 2018, o melhor software OCR de código aberto disponível é o Tesseract 4 (beta) com seu novo modelo de OCR de rede neural LSTM . Seu desempenho de OCR é muito melhor que o modelo de OCR anterior usado na versão 3.
Exemplo (produza um arquivo PDF output.pdf
com uma camada de texto para um documento alemão digitalizado):
$ echo page-*.png > input.list
$ tesseract --oem 1 -l deu input.list output pdf
Imprima o texto reconhecido no stdout:
$ tesseract --oem 1 -l deu page page-0001.png stdout
Listar idiomas instalados:
$ tesseract --list-langs
O suporte para muitos idiomas / scripts está disponível na forma de conjuntos de dados treinados para download , por exemplo, existe até um conjunto de dados para o Fraktur.
Com o novo modelo LSTM, o Tesseract se inspira no projeto de pesquisa do OCRopus .
A versão 3 do Tesseract apresenta desempenho relativamente ruim, mesmo em imagens de entrada de boa qualidade, ou seja, freqüentemente detecta falsamente caracteres únicos em pixels de poeira (fora de qualquer contexto textual) e introduz facilmente erros de caracteres únicos em palavras conhecidas.
Cuneiforme
O desempenho do OCR cuneiforme não é tão ruim, mas não é mantido ativamente (última versão em 2011, versão 1.1), trava facilmente e apresenta alguns outros problemas:
Você pode desativar o algoritmo de layout da seguinte maneira:
$ cuneiform --singlecolumn -l ger -f text -o foo.txt image-0001
( -l
especifica o idioma do documento de origem)
ocrad
$ ocrad -F utf8 image-0001
O texto é impresso por padrão para stdout.
Em um documento comercial, faltava uma palavra sublinhada, onde cuneiforme / tesserato / gocr não.
gocr
$ gocr image-0001
O texto é impresso por padrão para stdout.
Hardware
A Sane tem um suporte muito bom para muitos scanners de alimentação automática de documentos (ADF), por exemplo, os da Avision e Fujitsu .
Incluído no Sane está o scanimage
programa de linha de comando que você pode usar para criar pipelines de varredura com script (cf. por exemplo, meu adf2pdf.py
script).