Qual é a melhor e mais simples solução de OCR?

78

Gostaria de digitalizar uma boa quantidade de papéis que tenho por aí, com o mínimo possível de problemas. Gostaria de convertê-los em imagens usando o Simple Scan, depois convertê-los em texto usando OCR. Existe um bom aplicativo de OCR com uma GUI que me trará bons resultados com o pressionar de um botão?

Bou
fonte
Nós realmente precisamos de muito retrabalho neste tópico. Tantas coisas antigas / depreciadas / ... Não há testes de uma linha. Resultados / listas principalmente copiados e colados aqui. Sem garantia de qualidade.
Léo Léopold Hertz,
Em 2018, a solução OCR de longe mais simples está usando uma API de ocr on - line : o Google Vision OCR, o OCR do Azure ou a API de OCR OCR.space gratuita oferecem resultados de OCR de alta qualidade - é claro, apenas se o seu aplicativo / caso de uso permitir uma solução em nuvem .
Nic Endo

Respostas:

70
  • O GOCR de é um programa de reconhecimento óptico de caracteres (OCR) que converte imagens digitalizadas de texto em arquivos de texto.

  • CLARA é outra boa opção gráfica.

  • O OCRAD de é um OCR pode ser usado como um aplicativo de console independente ou como back-end para outros programas.

  • O KOOKA from é um aplicativo KDE, mas funciona bem; além disso, você precisa instalar programas reais de OCR, como GOCR e OCRAD.Depois de instalar o Kooka e os programas OCR, você deve apontar o Kooka para o local de instalação do OCR para poder converta o JPEG em texto.

  • O OCRFeeder de é um sistema de análise de layout de documentos e reconhecimento óptico de caracteres.

  • O Tesseract de é um utilitário de linha de comando e é muito simples de usar. Você pode instalar o pacote de idiomas tesseract-ocr-eng a partir daqui .

Dê uma olhada nesta página .

Nota:
Para executar o tesseract goto terminal e digite o seguinte

tesseract imagefile.tif outputfile.txt

O Tesseract pode ler apenas um arquivo TIFF - se você tiver um JPEG ou PDF ou qualquer outra coisa, precisará convertê-lo. Além disso, a extensão do nome do arquivo deve ser .tif, não .tiff, caso contrário, retire os erros.

karthick87
fonte
1
Se o seu idioma falado não é o inglês? há extensões para outro idioma?
Vassilis
3
@Vassilis: os sistemas de OCR são independentes da linguagem porque reconhecem caracteres, não palavras. No entanto, se o seu alfabeto tiver caracteres que não sejam latino1 (como cirílico), ele poderá faltar.
OpenNingia
2
@OpenNingia: O idioma pode ser importante, mesmo com sistemas de escrita usando apenas letras latinas. Ajuda o OCR a discriminar entre cartas ambíguas.
Frédéric Grosshans
13
Tais perguntas / respostas realmente atrapalham o askubuntu. A pessoa perguntou "Qual é a melhor e mais simples solução de OCR" e não "quais são todos os aplicativos de OCR disponíveis para Linux". Esta solução não deveria ter sido aceita! Realmente confuso e não é útil.
Alin Andrei
1
O Ubuntu atual tesseract(3.04.00 no Ubuntu 15.10) não tem problemas com PNGarquivos de entrada. ele aceita JPGarquivos, mas fornece resultados piores para eles, como seria de esperar de artefatos adicionais de compactação.
Volker Siegel
10

Existem algumas ferramentas populares de linha de comando do OCR que você pode usar (não tenho certeza se elas têm GUI):

  • Tesseract ( Leia-me , Perguntas frequentes ) (Python)

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

    Um mecanismo de OCR desenvolvido no HP Labs entre 1985 e 1995 ... e agora no Google. O Tesseract é provavelmente o mecanismo de OCR de código aberto mais preciso disponível.

    Uso:

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

    Reconhecimento de caracteres de código aberto. Ele converte imagens digitalizadas de texto em arquivos de texto. O GOCR pode ser usado com diferentes front-ends, o que facilita a portabilidade para diferentes sistemas operacionais e arquiteturas. Ele pode abrir muitos formatos de imagem diferentes e sua qualidade vem melhorando diariamente.

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

    Sistema de OCR com foco no uso de aprendizado de máquina em larga escala para resolver problemas na análise de documentos, incluindo análise de layout conectável, reconhecimento de caracteres conectável, modelagem estatística de linguagem natural e recursos multilíngues.

    O mecanismo OCRopus é baseado em dois projetos de pesquisa: um reconhecedor de caligrafia de alto desempenho desenvolvido em meados dos anos 90 e implantado pelo departamento do Censo dos EUA e novos métodos de análise de layout de alto desempenho.

    O OCRopus is development é patrocinado pelo Google e destina-se inicialmente a esforços de conversão de documentos de alto rendimento e alto volume. Esperamos que também seja um excelente sistema de OCR para muitas outras aplicações.

  • Tessnet2 (código aberto, OCR, Tesseract, .NET, DOTNET, C #, VB.NET, C ++ / CLI)

    O Tesseract é um mecanismo de OCR de código aberto em C ++. O Tessnet2 é um assembly .NET que expõe métodos muito simples de fazer OCR. O Tessnet2 está sob a licença Apache 2 (como o tesseract), o que significa que você pode usá-lo como quiser, incluído em produtos comerciais.

Poucos outros: ABBYY CLI OCR para Linux , Asprise OCR

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

Veja também: wanghaisheng/awesome-ocr- Uma lista com curadoria de recursos promissores de OCR no GitHub.

kenorb
fonte
9

solução linux-smart-ocr

Isenção de responsabilidade - Estou intimamente ligado ao desenvolvimento desta solução de código-fonte aberto

Os Lios podem converter impressão em texto usando o scanner ou uma câmera.

Também pode produzir texto a partir de imagens digitalizadas de outras fontes, como PDF, Imagem ou Pasta contendo Imagens.

O programa recebe total acessibilidade para deficientes visuais.

Desde que eu estou intimamente ligado - eu adoraria feedback.

Nalin.x.Linux
fonte
Onde está a documentação sobre uso? lios não é tão intuitivo quanto eu esperava.
codificador
O projeto foi movido para aqui .
Suzana
É possível executá-lo através da linha de comando apenas no modo sem cabeça no servidor?
Deadlock
8

Gscan2PDF

OCR em PDF de várias páginas ou documentos digitalizados

Esta é provavelmente a maneira mais fácil. O Gscan2pdf é uma ferramenta gráfica que permite não apenas digitalizar arquivos, mas também importar arquivos e executar OCR neles. Instale o gscan2pdf a partir daqui Instale o gscan2pdf , no Ubuntu Software Center ou executando este comando em um terminal:

sudo apt-get install gscan2pdf
  • Execute gscan2pdf
  • Importar o pdf (Ctrl + O)
  • Opcional: Ferramentas> Limpar
  • Escolha Ferramentas> Salvar OCR (Ctrl + S)

O Gscan2PDF pode usar mecanismos de OCR personalizáveis, o padrão é tesseract-ocr

Você pode considerar selecionar o idioma apropriado. Nesse caso, você precisará instalar o tesseract-ocr-LANGpacote, onde LANGestá o código de idioma ISO 639-2 de três letras. No momento, você possui 108 idiomas no repo de 16.04.

mxdsp
fonte
Não posso fazer nada com este software. Nenhuma detecção suficiente. Seria ótimo obter amostras de aplicativos sobre aplicativos antes de suas recomendações.
Léo Léopold Hertz # 14/16
O gscan2pdf para 16.04 não possui pelo menos o atalho da opção Ctrl + i. Abrir um arquivo pdf identifica corretamente as "páginas a serem extraídas", mas selecionar "ok" não faz nada.
user75505
3

Acabei de ter sucesso (sob 16.04) com pdfocr.rb . Isso está listado no wiki do Ubuntu

Aqui está um ppa, mas o repositório para 16.04 não é atualizado. O script ruby ​​acima do github ainda funciona com o 16.04.

Você pode baixá-lo no Github. Você precisará dos seguintes pacotes instalados:

ruby tesseract-ocr pdftk exactimage

então tornou o pdfocr.rb executável e executou:

./pdfocf.rb -i source.pdf -o output.pdf

Opcionalmente, você pode usar o -l LANGparâmetro Nesse caso, você precisará instalar o tesseract-ocr-LANGpacote, onde LANGestá o código de idioma ISO 639-2 de três letras. No momento, você possui 108 idiomas no repo de 16.04.

user75505
fonte
3

A melhor e mais fácil maneira de usá- pypdfocrlo não muda o pdf. pypdfocr é um link do módulo python aqui.

pypdfocr your_document.pdf

No final, você terá outro your_document_ocr.pdfcomo deseja com texto pesquisável. O aplicativo não altera a qualidade da imagem. Aumenta um pouco o tamanho do arquivo adicionando o texto da sobreposição.

Eu acho que o comando é bem fácil e não precisa de nenhuma interface gráfica. Talvez a instalação do pypdfocr seja um pouco mais detalhada:

sudo apt install tesseract-ocr 
pip install pypdfocr 

Atualização em 3 de novembro de 2018:

pypdfocrnão é mais suportado desde 2016 e notei alguns problemas por não serem mentidos. ocrmypdf(o módulo faz um trabalho semelhante e pode ser usado assim:

ocrmypdf in.pdf out.pdf

Para instalar:

pip install ocrmypdf

ou

apt install ocrmypdf
Eduard Florinescu
fonte
Essa é uma ferramenta muito interessante, embora eu ache que o OP queria uma ferramenta GUI para produzir um arquivo de texto, não um sanduíche de PDF. Seria bom se você pudesse incluir o site do projeto.
Andrea Lazzarotto
@AndreaLazzarotto Sim, eu vi, mas como o comando é simples, acho que muitas pessoas podem usar o terminal para isso. então eu pensei para incluir a solução aqui
Eduard Florinescu
1
Por coincidência, descobri recentemente "ocrmypdf". Você conferiu? É muito bom. :)
Andrea Lazzarotto 03/02
@AndreaLazzarotto parece ser uma boa alternativa, você pode querer postar uma resposta;) Vou testá-lo para ver como ele funciona :)
Eduard Florinescu
@AndreaLazzarotto Parece que não é simples de instalar ocrmypdf no Ubuntu 16.04 github.com/jbarlow83/OCRmyPDF/issues/118
Eduard Florinescu
3

Só porque funciona muito bem e definitivamente deve estar na lista:


Exemplo de gimageReader de uma captura de tela:

insira a descrição da imagem aqui

Está nos repositórios (resposta em 18.10, mas a utiliza há séculos)

Jacob Vlijm
fonte
Quando iniciei o gimageReader, ele me deu a mensagem "Nenhum idioma disponível" para o tesseract. A resposta " Como instalar um novo pacote de idiomas para o tesseract " não apareceeng como opção ... mas resolvi! :) Correr sudo apt install tesseract-ocr-engno terminal fez o truque. Seria bom se isso estivesse documentado no arquivo de ajuda do gimageReader ou "README" no github ... ou em algum outro lugar. Como aqui, talvez.
Dɑvïd 04/04
1

O gscan2pdf inclui três mecanismos ocr diferentes. Você pode digitalizar diretamente para o programa ou importar seu pdf para o programa. Eu descobri que o mecanismo Tesseract funciona muito bem e é muito fácil de usar

Vince West
fonte