Extraindo textos a partir de imagens

Realizando um atendimento (quem lê até pensa que sou médica rs) me deparei com um problema, tinha que converter um arquivo pdf de 29 páginas para texto, até aí blz, bastava usar um:

$ pdf2text

e pronto, textos a partir do pdf em instantes.

Mas por que facilitar se podemos complicar, né!
O resultado desse comando gerava infomações lixo que não batiam com o conteúdo do pdf.

Tentando de novo, só que agora com outro tipo de arquivo de saída:

$ pdf2html

e… BINGO!! Esse pdf foi gerado a partir de várias imagens organizadas e “linkadas” num index.html. Agora tenho um arquivo html e 29 arquivos PNG.
Mas não resolvi meu problema, cadê os textos?

Vamos à “mágica”!!

OCR é um acrónimo para o inglês Optical Character Recognition, uma tecnologia para reconhecer caracteres a partir de um arquivo de imagem, ou mapa de bits. Através do OCR é possível digitalizar uma folha de texto impresso e obter um arquivo de texto editável.
Fonte: Wikipédia

O que temos nos repositórios do OpenSuse que pode nos ajudar…

anjos:~ # zypper search ocr
Loading repository data...
Reading installed packages...

S | Name        | Summary                                                   | Type   
--+-------------+-----------------------------------------------------------+--------
  | gocr        | Optical Character Recognition                             | package
  | gocr-gui    | Optical Character Recognition - Basic Graphical Interface | package
  | ocrad       | GNU Ocrad--Optical Character Recognition Program          | package
  | ocrad-devel | Development files for GNU ocrad                           | package

Vamos instalar o gocr.

anjos:~ # zypper install gocr
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following NEW packages are going to be installed:
  gocr gocr-gui 

2 new packages to install.
Overall download size: 377.0 KiB. After the operation, additional 912.0 KiB will be used.
Continue? [y/n/?] (y): y
Retrieving package gocr-0.48-6.4.x86_64 (1/2), 364.0 KiB (895.0 KiB unpacked)
Retrieving: gocr-0.48-6.4.x86_64.rpm [done (68.6 KiB/s)]
Retrieving package gocr-gui-0.48-6.4.x86_64 (2/2), 13.0 KiB (17.0 KiB unpacked)
Retrieving: gocr-gui-0.48-6.4.x86_64.rpm [done]
Installing: gocr-0.48-6.4 [done]
Installing: gocr-gui-0.48-6.4 [done]

Prontinho.
Agora é só testar.

A interface do programa não é das mais atrativas, mas é funcional.

Aqui é bem simples, basta escolher o arquivo de imagem e clicar em “Run it”. Depois é só salvar o resultado num txt no menu File -> Save output.

Problema resolvido né! Quase…
Imagina ter que gerar o txt de 29 imagens. Por que não otimizar?

T=1;
for A in NACERP0102*.png
do
  if [ -f $A ] ; 
  then
    gocr -i NACERP0102-$T.png -o NACERP0102-$T.txt
  fi

T=$(($T+1));
done

Obs.: Quem deu uma força gerando o script foi meu amigo Cláudio Miranda.

Missão cumprida e usuário feliz. o/

Abraços. 😀

Anúncios

6 respostas em “Extraindo textos a partir de imagens

    • Concordo com o Vagner!! Ótimo post e excelente dica… Noto que últimamente você está com a corda toda para postar 😀

      Mas volto a reclamar por você não ir atrás do seu domínio próprio 😐

      Já falei que eu garanto a hospedagem “de grátis” e por tempo ilimitado… Ajuda aí Vagner, cobra também que ela vai atrás 🙂

      • Vcs são uns amores, sabia!! rsrs

        Ontem eu adiquiri o domínio carolinux.com.br só tô esperando a liberação que demora alguns dias.
        Ia ser surpresa, mas já que a chefia tá cobrando rsrs já passo as novidades logo.

        Quanto aos posts, tô muuuuuuuito animada e a idéia é sempre postar aqui tudo que minha imaginação e criatividade permitir, se eu sentir que o tema tá bacana pra colocar no CL post segundinhos depois lá tb, dessa vez não deu mas a idéia continua. 😉

        E a culpa disso tudo é de vcs, descobri q além de desafios sou movida a carinho de amigos como vcs!! 🙂

        Abraços.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

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