Tesseract
A partir de 2018, o melhor software de OCR de código aberto disponível é o Tesseract 4 (beta) com sua nova 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 para a 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 OCRopus .
A versão 3 do Tesseract tem desempenho relativamente ruim mesmo com imagens de entrada de boa qualidade, ou seja, frequentemente detecta falsamente caracteres únicos em pixels de poeira (fora de qualquer contexto textual) e introduz facilmente erros de caracteres simples em palavras conhecidas.
Cuneiforme
O desempenho do OCR em Cuneiform não é tão ruim, mas não é mantido ativamente (último lançamento em 2011, versão 1.1) e falha facilmente e tem alguns outros problemas:
- Falhas de segmentação com vários pacotes e lançamentos
- seu algoritmo de layout é simplesmente quebrado, ou seja, em documentos de uma coluna, os parágrafos são aleatoriamente distribuídos aleatoriamente
- não elimina erros em opções desconhecidas
Você pode desativar o algoritmo de layout assim:
$ 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, ele perdeu uma palavra sublinhada, onde cuneiform / tesseract / 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 ex. para a Avision e Fujitsu .
Incluído com o Sane é o programa de linha de comando scanimage
que você pode usar para construir pipelines de varredura com script (por exemplo, meu adf2pdf.py
script).