OCR

Instale o Tesseract OCR no Linux

Instale o Tesseract OCR no Linux

Tesseract: uma solução de OCR gratuita

Introdução

Tessereact é considerada uma das melhores soluções de OCR disponíveis. Desde 2006 é patrocinado pelo Google, anteriormente era desenvolvido pela Hewlett Packard em C e C ++ entre 1985 e 1998.   O sistema é capaz de identificar uniformemente a caligrafia, pode aprender aumentando sua precisão, e está entre os mais desenvolvidos e completos do mercado.

Ele supera facilmente concorrentes comerciais como a ABBY, se você está procurando uma solução séria para OCR, o Tesseract é o mais preciso, mas não espere soluções massivas: ele usa um núcleo por processo, o que significa um processador de 8 núcleos (hyperthreading aceito) será capaz de processar 8 ou 16 imagens simultaneamente.

Quando usei o Tesseract, gerenciamos milhares de clientes em potencial fazendo upload de conteúdo escrito à mão, imagens com texto etc. Usamos 48 servidores núcleo, com DatabaseByDesign e depois com AWS, nunca tivemos um problema de recursos.

Tínhamos um uploader que fazia a distinção entre arquivos de texto como arquivos do Microsoft Office ou Open Office e imagens ou documentos digitalizados. O uploader determinou o que quer que os scripts OCR ou PHP processariam um pedido, no campo de reconhecimento de texto.

Tesseact é uma ótima solução, mas antes de pensar nisso você deve saber que as últimas versões do Tesseract trouxeram grandes melhorias, algumas delas significam muito trabalho. Embora o treinamento possa durar horas ou dias, as versões de treinamento recentes do Tesserct podem durar dias, semanas ou até meses, se você estiver procurando por uma solução de OCR multilíngue.


Instalando o Tesseract 4 no Debian / Ubuntu:

apt-get install tesseract-ocr

Se você estiver usando uma distribuição Linux diferente, você precisará copiar a última versão do repositório github e copiar o .arquivo de dados treinados em 'tessdata' (/ usr / share / tesseract-ocr / tessdata ou / usr / share / tessdata).

Por padrão, o Tesseract instalará o pacote de idioma inglês, para instalar idiomas adicionais, execute

apt-get install tesseract-ocr-LANG

por exemplo, para adicionar hebraico:

apt-get install tesseract-ocr-heb

Você pode incluir todos os idiomas executando:

apt-get install tesseract-ocr-all

Para que o Tesseract funcione corretamente, precisaremos usar o comando “converter” (converter entre formatos de imagem, bem como redimensionar uma imagem, desfocar, cortar, remover, pontilhar, desenhar, inverter, juntar, reamostrar e muito mais) fornecido por Imagemagick:

Vamos instalar o imagemagick com apt-get:

apt-get install imagemagick

Agora vamos testar o Tesseract, encontrar uma imagem contendo texto e executar:

tesseract [nome_imagem] [nome_do_arquivo de saída]

Se instalado corretamente, o Tesseract extrairá o texto da imagem.

Quando trabalhei com o Tesseract, tudo o que precisávamos era contar documentos. Como com qualquer outro programa você pode e deve treiná-lo, no Word podemos definir alguns símbolos que podem ser contados ou não, se contar ou não números, etc. o mesmo com Tesseract.

Também podemos treinar sua sensibilidade para imagens específicas.


Otimização Tesseract:

Otimização de tamanho: De acordo com fontes oficiais, o tamanho ideal de pixels para uma imagem a ser processada com sucesso pelo Tesseract é 300DPI. Precisaremos processar qualquer imagem usando o parâmetro -r para impor este DPI. Aumentar o DPI também aumentará o tempo de processamento.

Rotação de página: Se, quando escaneada, a página não foi girada corretamente e permanece 180 ° ou 45 °, a precisão do Tesseract diminuirá, você pode usar este script Python para detectar e corrigir automaticamente os problemas de rotação.

Remoção de borda: De acordo com o homem oficial de Tesseract, bordas podem ser erroneamente escolhidas como caracteres, especialmente bordas escuras e onde há variedade de gradação. Remover as bordas pode ser uma boa etapa para alcançar a precisão máxima com o Tesseract.

Removendo ruído: De acordo com Tesseracts, o ruído "é uma variação aleatória de brilho ou cor em uma imagem". Podemos removê-lo no binarização passo, o que significa polarizar suas cores.


Tesserato de treinamento:

Embora a maioria dos tutoriais cubra apenas a instalação do Tesseract, vou resumir como treinar seu sistema de OCR, aqui podemos encontrar um tutorial para todas as versões. Neste artigo, vou resumir como treinar o Tesseract 4, que inclui um novo “Mecanismo de reconhecimento baseado em rede neural que oferece uma precisão significativamente maior (em imagens de documentos) do que as versões anteriores, em troca de um aumento significativo na capacidade de computação necessária. Em linguagens complexas, no entanto, pode realmente ser mais rápido do que o Tesseract básico.”

Antes de continuar, precisaremos instalar bibliotecas adicionais:

sudo apt-get install libicu-dev
sudo apt-get install libpango1.0-dev
sudo apt-get install libcairo2-dev

E instalaremos as ferramentas de treinamento executando, no diretório Tesseract:

faço
fazer treinamento
sudo make training-install

De acordo com o wiki oficial do Tesseract, temos 3 opções atuais para treinar nosso sistema de OCR:

Embora as opções acima possam parecer diferentes, as etapas de treinamento são quase idênticas, exceto a linha de comando, por isso é relativamente fácil tentar de todas as maneiras, dado o tempo ou o hardware para executá-las em paralelo.”

Neste tutorial, vamos apenas executar o tesstrain.script sh que chamará os programas necessários para treinar uma linguagem específica.

Em primeiro lugar, vamos clonar todos os arquivos em nosso / usr / share / tesseract-ocr:

git clone https: // github.com / tesseract-ocr / tesseract

Vá para / usr / share / tesseract-ocr / tesseract / training (diretório de instalação padrão do Tesseract) e execute:

$ ./ tesstrain.sh --lang heb --langdata_dir / usr / share / tesseract-ocr / langdata --tessdata_dir / usr / share / tesseract-ocr / tessdata 

Altere “heb” para o idioma que você deseja treinar e também edite o caminho para seus dados.

Dentro do diretório / usr / share / tesseract-ocr / tesseract / training você encontrará o arquivo específico do idioma.É útil adicionar regras para idiomas específicos.


Solução de problemas

Tesseract é para mim a melhor solução de OCR, mas recentemente ele fez grandes mudanças em relação às versões anteriores e muitos usuários estão reclamando de mudanças ou coisas que não estão mais funcionando, eu não me preocuparia, pois as mudanças parecem dar ótimos resultados. A comunidade do Tesseract é muito ativa, caso você encontre problemas para executar o Tesseract, torne-se parte da comunidade do Tesseract aqui.

Mecanismos de jogos gratuitos e de código aberto para o desenvolvimento de jogos Linux
Este artigo cobrirá uma lista de mecanismos de jogo gratuitos e de código aberto que podem ser usados ​​para desenvolver jogos 2D e 3D no Linux. Exist...
Tutorial de Shadow of the Tomb Raider para Linux
Shadow of the Tomb Raider é a décima segunda adição à série Tomb Raider - uma franquia de jogos de ação e aventura criada pela Eidos Montreal. O jogo ...
Como aumentar o FPS no Linux?
FPS significa Quadros por segundo. A tarefa do FPS é medir a taxa de quadros em reproduções de vídeo ou desempenho de jogos. Em palavras simples, o nú...