OCR e dados

Já foi dito que para se trabalhar com programação é importante desenvolver os algorítimos com foco nos dados. O problema que eventualmente surge é a captura dos mesmos. Sim a captura é o primeiro passo para se ter dados crus quando somente temos papéis para obtê-los.

Certo, derivei, pois na introdução do meu artigo, falo em programação, dados e algorítmos, mas na realidade o que quero é apresentar um “procedimento” pessoal, que uso quando preciso de obter estes dados de fontes em papel.

Este procedimento se baseia neste artigo, de Thadeu Penna, que li e marquei, há uns dois anos.

Ele utiliza os softwares gimp e tesseract para tratar as fontes e o processo, apesar de intrincado, é bem simples e funciona. Diferente dele, eu não uso o plugin do gimp, mas o xsane, diretamente, para realizar minhas digitalizações.

Para fontes, relativamente limpas, basta se utilizar o software tesseract nas imagens digitalizadas, i.e. sem tratar no gimp, pois o mesmo é excelente em termos qualidade de reconhecimento, facilidade de utilização.

Fácil ? Em termos pois vale para alguém que tenha o QI com mais de dois digitos e use a linha de comando, caso contrário, resignar-se-à em sofrer com os banners bordados e coloridos dos software de fabricantes e aquele treco enjanelado, que muitos ainda insistem em usar.

Procedimento:

  1. Instale e ajuste o driver de scanner (use o xsane para isto): apt-get install xsane.
  2. Instale o tersseract;. apt-get install tesseract-ocr tesseract-ocr-por
  3. Digitalize as fontes em preto e branco ou cinza, gerando arquivos .tif ou .png, com uma resolução em torno de 350dpi (quando mais “suja” a fonte, maior deve ser a resolução)
  4. Trate, caso seja necessário usando o gimp, segundo o Thadeu:

Para um bom aproveitamento do programa de ocr é importante preparar a imagem a ser reconhecida. Para o meu caso, 350dpi foi o de melhor aproveitamento: menos de 200 nem pensar e mais de 600 também não melhorou muito. O texto estava em fontes de 14pt, é possível que um texto em 10 ou 12pt necessitem de uma maior resolução.

No Gimp, vá para Camadas → Cores → Limite. Esta operação vai transformar a figura escaneada em tons de cinza em uma figura preto e branco. O triângulo preto do meio, na janela Limite determina quem será branco e quem será preto. Escolha um valor bem alto: eu movi para 220 (o máximo 255)

Note que estes passos acima são para fontes com muito ruído (manchas, pits, etc) e que a versão atual do tesseract, aceita .png, com ótimos resultados.

Finalmente utiliza-se a linha de comando com apenas o seguinte comando:

$ tesseract imagem.png imagem.txt -l por

Eu sempre que recebo alguma informação interessante – cartas de banco, folhetos de programas de fidelidade, apólices de seguro, contratos, extratos, etc – digitalizo e deixo em .txt para ler posteriormente ou utilizar dados já digitados para inserir em bancos de dados que eventualmente desenvolvo.

Os resultados são impressionantes.

Anúncios

Deixe um comentário

Faça o login usando um destes métodos para comentar:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s