Instale o Tesseract OCR no Linux

Instale o Tesseract OCR no Linux
Este tutorial explica como instalar o TESSERACT no Linux usando o Debian APT Packages Manager e os Repositórios Git para outras distribuições Linux.

O Tesseract é a solução livre e provavelmente a melhor solução de OCR no mercado. Desde 2006, é patrocinado pelo Google; Anteriormente, foi desenvolvido por Hewlett Packard em C e C ++ entre 1985 e 1998. O sistema pode identificar uma caligrafia uniforme; Pode aprender, aumentando sua precisão e está entre os mais desenvolvidos e completos do mercado.

Se treinada adequadamente, pode vencer concorrentes comerciais como Abby; Se você está procurando uma solução séria para o OCR, o TESSERACT é o mais preciso, mas não espere soluções maciças: ele usa um núcleo por processo, o que significa que um processador principal (hiperthreading aceito) poderá processar 8 ou 16 imagens simultaneamente.

TESSERACT é uma ótima solução, mas antes de pensar nisso, você deve saber que as versões do último TESSERACT trouxeram grandes melhorias, algumas das quais significam trabalho duro. Embora o treinamento possa durar horas ou dias, o treinamento recente das versões do TESSERACT pode ser de dias, semanas ou até meses, especialmente se você estiver procurando por uma solução multilíngue de OCR.

Instalando o Tesseract no Debian e no Ubuntu:

Para instalar o Tesseract na distribuição Debian ou Ubuntu Linux, use APT, como mostrado na captura de tela abaixo.

sudo apt install tesseract -ocr -y

Isso instalará o Tesseract em /usr/share/tesseract-ocr/4.00/tessdata.

Observação: Para outras distribuições Linux, salte para instalar o Tesseract de fontes.

Por padrão, o TESSERACT instalará o pacote de idioma inglês. Para instalar linguagens adicionais, a sintaxe é a seguinte. No exemplo abaixo, vou instalar o pacote de idiomas hebraico.

sudo apt install tesseract-ocro-heb

Para instalar todos os idiomas disponíveis, execute:

sudo apt install tesseract-all -y

Para que o TESSERACT funcione corretamente, precisaremos usar o comando "converter". Este comando é útil para converter entre formatos de imagem e redimensionar uma imagem, borrão, cortar, despachar, fazer, desenhar, virar, unir, re-amostras e muito mais. Esta ferramenta é fornecida pela ImageMagick:

sudo apt install imagemagick

Agora vamos testar o TESSERACT, encontre uma imagem contendo texto e execute:

tesseract

TESSERACT Extrairá o texto da imagem.

Quando trabalhei com o Tesseract, tudo o que precisávamos era de contagem de palavras documentos. Como em qualquer outro programa, você pode e deve treiná -lo para entender a caligrafia.

Em editores avançados de texto, podemos definir alguns símbolos que podem ser contados ou não, se para contar ou não números, etc., O mesmo com possibilidade está disponível no Tesseract.

Otimizando o Tesseract:

  • Otimização de tamanho: De acordo com fontes oficiais, o tamanho ideal de pixels para uma imagem a ser processado com sucesso pelo TESSERACT é 300dpi. Precisamos processar qualquer imagem usando o parâmetro -r para aplicar este DPI. Aumentar o DPI também aumentará o tempo de processamento.
  • Rotação da página: Se, quando digitalizado, a página não estiver posicionada corretamente e permanecer 180 ° ou 45 °, a precisão do Tesseract diminuirá, para que você possa usar um script python para detectar e corrigir problemas de rotação automaticamente.
  • Remoção de fronteira: De acordo com o homem oficial de Tesseract, as fronteiras podem erroneamente ser escolhidas como personagens, especialmente fronteiras escuras e onde há uma variedade de gradação. Remover fronteiras pode ser um bom passo para obter a máxima precisão com o tesseract.
  • Removendo ruído: De acordo com fontes de tesseract, o ruído “é uma variação aleatória de brilho ou cor em uma imagem”. Podemos remover essa variação na etapa de binarização, o que significa polarizar suas cores.

Introdução ao processo de treinamento do TESSERACT:

Anteriormente, este artigo cobria o processo de treinamento da Tesseract, que evoluiu para um processo mais manual que merece um artigo dedicado. Portanto, esta seção abrange apenas informações teóricas sobre o processo de treinamento e instruções para instalar ferramentas de treinamento do Tesseract e lançá -las.

De acordo com o wiki oficial da Tesserac, temos três opções atuais para treinar nosso sistema OCR:

  • "Afinar. Começando com um idioma treinado existente, treine seus dados adicionais específicos. Isso pode funcionar para problemas que estão próximos dos dados de treinamento existentes, mas diferentes de alguma maneira sutil, como uma fonte particularmente incomum. Pode funcionar com uma pequena quantidade de dados de treinamento.
  • Corte a camada superior (ou algum número arbitrário de camadas) da rede e treine uma nova camada superior usando os novos dados. Se o ajuste fino não funcionar, essa é provavelmente a próxima melhor opção. Se você começar com o script de aparência mais semelhante, o corte da camada superior ainda poderá funcionar para treinar um idioma ou script completamente novo.
  • Treina do zero. A menos que você tenha um conjunto de treinamento muito representativo e suficientemente grande para o seu problema, esta é uma tarefa assustadora. Caso contrário, você provavelmente acabará com uma rede excessiva que se sai muito bem nos dados de treinamento, mas não nos dados reais.

Antes de continuar a instruções de treinamento no Tesseract, precisaremos instalar bibliotecas adicionais:

sudo apt install libicu-dev libicu-dev libcairo2-dev

Nas distribuições Linux baseadas em Debian, instale o pacote de desenvolvimento de tesseracs, incluindo ferramentas de treinamento de tesseract usando o APT, como mostrado abaixo. Se você não estiver usando uma distribuição Linux baseada em Debian, leia as instruções para instalar ferramentas de treinamento de tesseract de fontes.

sudo apt install lbtesseract -dev -y

Após a instalação, você poderá ver as ferramentas de treinamento em /usr/share/tesseract-ocr/ como mostrado abaixo.

LS/USR/Share/Tesseract-ocr

Antes de começar a treinar um idioma, você precisa fornecer a Tesseract o conteúdo para aprender.

Para isso, você precisa criar o diretório Langdata e o subdiretório ENG no diretório principal de instalação do TESSERACT. Em seguida, crie o arquivo de texto de treinamento, como mostrado abaixo.

sudo mkdir/usr/share/tesseract-ococ/langdata/
sudo mkdir/usr/share/tesseract-ococ/langdata/eng/
sudo nano/usr/share/tesseract-ococ/langdata/Eng/Eng.Treining_Text

Observação: Lembre -se de adicionar conteúdo ao Eng.Treining_Text arquivo.

Depois que o arquivo de texto de treinamento foi adicionado, a sintaxe para começar a treinar um idioma é o seguinte. O comando a seguir é treinar o idioma inglês definido como “Eng”.

./testrain.SH--Lang Eng--Langdata_dir/usr/share/Tesseract-ococ/Langdata--tessdata_dir/usr/share/tesseract-ocr/tessdata

Este processo pode levar muito tempo. Claro, isso também depende dos seus arquivos de texto de treinamento. Esta é a introdução ao processo de treinamento do Tesseract. Publicaremos um novo artigo focado apenas no processo de treinamento.

Solução de problemas de fontes ausentes:

No meu caso, recebi um erro ao tentar treinar o Tesseract. A fonte Arial Bold estava faltando. Eu resolvi isso executando o comando abaixo.

sudo apt install ttf-mscorefonts-insaller

Instale o Tesseract de fontes no Linux:

Em diferentes distribuições Linux, você pode obter o TESSERACT usando o Git, como mostrado abaixo.

clone git https: // github.com/tesseract-ococ/Tesseract.git

Depois de clonado, vá para o diretório TESSERACT executando usando CD.

CD TESSERACT

Em seguida, execute o Autogênico.sh script como mostrado abaixo.

sudo ./Autogen.sh

O comando acima cria os arquivos de instalação; Agora execute o seguinte comando para iniciar o processo de instalação.

sudo ./configure

Correr fazer Para começar a compilar tesseract.

sudo make

Então corra faça instalar, como mostrado na captura de tela abaixo.

sudo make install

Executar LDCONFIG como mostrado abaixo.

sudo ldconfig

Para compilar ferramentas de treinamento, execute o seguinte comando.

Sudo faz treinamento

Então corra:

sudo faz uma instalação de treinamento

Agora você pode seguir as instruções para começar o processo de treinamento.

Conclusão:

Como você pode ver, a instalação do TESSERACT no Linux é bastante fácil, especialmente nas distribuições Linux baseadas em Debian. Quando usei o TESSERACT, gerenciamos milhares de clientes em potencial enviando conteúdo manuscrito, imagens com texto, etc. Utilizamos 48 servidores principais, com o DatabaseByDesign e depois com a AWS; Nós nunca tivemos um problema de recurso.

Tivemos um uploader que discriminou entre arquivos de texto como o Microsoft Office ou Open Office Arquivos e imagens ou documentos digitalizados. O uploader determinou o que os scripts OCR ou PHP processariam uma ordem no campo de reconhecimento de texto.

Na minha experiência, o Tesseract é a melhor solução de OCR disponível no mercado, e é de código aberto.

Obrigado por ler este tutorial explicando como instalar e configurar o tesseract OCR no Linux. Continue nos seguindo para obter dicas e tutoriais adicionais de Linux.