OCR em sistemas Linux [fechado]

14

Eu sempre achei que a tecnologia OCR estava por trás dos sistemas de código aberto. Também assisti ao projeto Ocropus desde a sua infância. Eu tentei o que eu ouvi é o melhor mecanismo de OCR disponível para Linux, Tesseract , e encontrei-o lamentavelmente falta de documentos comerciais. Existem outras implementações de OCR mais promissoras? E quanto ao objetivo ainda mais esperançoso de interpretar a caligrafia? O que é possível em sistemas * nix neste campo?

    
por jjclarkson 17.08.2010 / 00:27

5 respostas

4

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:

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).

    
por 15.12.2011 / 21:44
3

Encontrei uma pergunta semelhante no StackOverflow e Asprise OCR SDK , um dos produtos comerciais ligados, possui uma versão para Linux.

    
por 17.08.2010 / 02:53
1

Existem algumas ferramentas de linha de comando OCR populares:

  • Tesseract ( LeiaMe , FAQ (Python)

    Também disponível para: Tesseract .NET , Tesseract iOS

    An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google. Tesseract is probably the most accurate open source OCR engine available.

    Uso:

    tesseract [inputFile] [outputFile] [-l optionalLanguageFile] [PathTohOCRConfigFile]
    

    Exemplo: Torne o PDF pesquisável existente (OCR) via linha de comando / script

  • GOCR

    Open-source character recognition. It converts scanned images of text back to text files. GOCR can be used with different front-ends, which makes it very easy to port to different OSes and architectures. It can open many different image formats, and its quality have been improving in a daily basis.

  • OCRopus ™ ( FAQ ) (escrito em Python, NumPy e SciPy)

    OCR system focusing on the use of large scale machine learning for addressing problems in document analysis, featuring pluggable layout analysis, pluggable character recognition, statistical natural language modeling, and multi-lingual capabilities.

    The OCRopus engine is based on two research projects: a high-performance handwriting recognizer developed in the mid-90's and deployed by the US Census bureau, and novel high-performance layout analysis methods.

    OCRopus is development is sponsored by Google and is initially intended for high-throughput, high-volume document conversion efforts. We expect that it will also be an excellent OCR system for many other applications.

  • Tessnet2 (fonte aberta, OCR, Tesseract, .NET, DOTNET, C #, VB.NET, C ++ / CLI)

    Tesseract is a C++ open source OCR engine. Tessnet2 is .NET assembly that expose very simple methods to do OCR. Tessnet2 is under Apache 2 license (like tesseract), meaning you can use it like you want, included in commercial products.

Outros já sugeridos: ABBYY CLI OCR para Linux , OCR da empresa .

Leia também:

Para uma lista mais completa, verifique: Lista de software de reconhecimento óptico de caracteres na Wikipedia.

    
por 19.09.2014 / 13:48
0

... OCR é mais do que "apenas reconhecimento de caracteres". Manipulação de imagens, pré-processamento - análise de página / layout para encontrar os textos, imagens, tabelas ou códigos de barras. Para o reconhecimento, você tem que lidar com diferentes fontes, tamanhos e idiomas. Isso é importante porque, para obter bons resultados, você precisa usar dicionários e definições de idioma. Por fim, as pessoas esperam mais opções de exportação do que texto (por exemplo, XML, RTF ou PDF pesquisável). Existem algumas opções comerciais para SDKs, mas elas não são baratas e gratuitas.

Recentemente, encontrei um CLI OCR para Linux da ABBYY . Existe um teste gratuito de 100 páginas.

    
por 18.08.2010 / 19:45
0

Se você tem um orçamento, recomendo vivamente o CLI do ABBYY FineReader Engine para Linux . Nossa empresa o utiliza em nosso aplicativo da web há um ano e planejamos renovar a licença. Muito boa qualidade de reconhecimento, interface de linha de comando, reconhecimento em muitos idiomas.

    
por 16.12.2011 / 07:44