Blog

Postado em em 2 de outubro de 2021

Ler Textos Dentro de Imagens com Python

Nessa aula eu quero te mostrar algo muito irado, que é como você pode ler textos dentro de imagens utilizando o OpenCV e Tesseract no Python!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Como Ler Textos Dentro de Imagens com Python

Você sabia que é possível ler os textos dentro de imagens? É isso mesmo, aqueles textos que estão como imagens e não de fato como textos.

Hoje eu quero te mostrar como você pode fazer isso utilizando o Python para automatizar esse processo.

A ideia é ler dentro das imagens com Python fazendo um tratamento de imagens. Então através desse tratamento nós vamos conseguir extrair essas informações.

Textos Dentro de Imagens

Inicialmente é bom informar que na aula nós vamos utilizar o editor de Python PyCharm, então se ainda não tem instalado basta clicar aqui que temos um post com o passo a passo de instalação.

Vamos precisar também de duas bibliotecas que vão nos ajudar no tratamento de imagens. Então vamos instalar a biblioteca OpenCV e a biblioteca Tesseract.

Claro que em uma única aula não vamos conseguir passar tudo de OpenCV Python, mas já vamos te mostrar uma introdução ao OpenCV.

OBS: Se você tiver interesse nós temos uma publicação aqui no blog que ensina a controlar sua Webcam utilizando o OpenCV no Python, basta clicar aqui para acessar essa publicação.

O OpenCV nós vamos utilizar para o tratamento de imagens no geral enquanto o Tesseract Python foi criado já para auxiliar nesse reconhecimento de textos dentro de imagens!

Vamos agora a instalação das duas bibliotecas, para isso basta escrever: pip install opencv-python e pip install pytesseract.

Feito isso vamos partir para o código.

import pytesseract
import cv2

imagem = cv2.imread("email.JPG")

caminho = r"C:\Users\Python\AppData\Local\Programs\Tesseract-OCR"
pytesseract.pytesseract.tesseract_cmd = caminho + r'\tesseract.exe'
texto = pytesseract.image_to_string(imagem, lang="por") #
print(texto)

É um código bem simples, mas vamos a explicação para que você entenda o que está acontecendo.

Lembrando que na parte da imagem vamos colocar o nome exato que temos na imagem.

IMPORTANTE: É possível que você tenha um erro ao rodar esse código, portanto nós já deixamos um link no arquivo que você vai baixar para que possa seguir o passo a passo de instalação do tesseract. Pois lá você vai ter que baixar uma versão para o Windows.

Você vai notar que no código temos uma linha chamada caminho, esse é o caminho de instalação do tesseract na hora que estiver fazendo a instalação. Então é importante que copie, pois o seu caminho pode ser diferente do que foi mostrado no código.

Resultado do nosso código
Resultado do nosso código

Depois de executar o código você vai ver o resultado na parte inferior do programa. E de fato temos exatamente o mesmo conteúdo da imagem de e-mail.

Imagem contendo o texto de exemplo
Imagem contendo o texto de exemplo

E você vai notar que isso é de fato uma imagem e não um texto, você pode até tirar um print de um texto próprio para poder testar essa ferramenta incrível!

IMPORTANTE: Você deve ter notado que o nosso texto não está com acentuação, isso é porque precisamos baixar mais um arquivo para colocar na pasta do tesseract. Você pode clicar aqui para ir até o site e vai procurar pelo arquivo por.traineddata, isso é para pegar o pacote português. Lembrando que você pode pegar outras linguagens se precisar pegar informações em outros idiomas.

Conclusão

Nessa aula eu te mostrei como você pode obter textos de imagens com OpenCV e Tesseract no Python.

É um código muito simples, mas que pode te ajudar muito na obtenção de dados e informações importantes de imagens sem que você precise fazer isso de forma manual.

Então agora vai poder automatizar esse processo e ganhar muito tempo ao invés de ter que ler a imagem e escrever tudo o que precisa de forma manual!

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Quer sair do zero no Python e virar uma referência na sua empresa? Inscreva-se agora mesmo no Python Impressionador