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!
Para ler textos dentro de imagens com Python, usa-se o OCR (reconhecimento óptico de caracteres) com a biblioteca pytesseract (interface para o Tesseract) junto do OpenCV para preparar a imagem. O fluxo é: instalar o Tesseract, carregar a imagem com OpenCV, melhorar o contraste e chamar pytesseract.image_to_string(imagem), que devolve o texto extraído.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
O que você aprende neste vídeo
Resposta rápida: Nesta aula, o instrutor ensina a ler textos dentro de imagens com Python (OCR). Ele usa o OpenCV (importado como cv2) para trabalhar com a imagem e o pytesseract para extrair o texto. Mostra o passo a passo: instalar as bibliotecas e o programa Tesseract, apontar o caminho dele, configurar os idiomas e rodar, extraindo o texto (incluindo números e valores) de uma imagem.
Neste vídeo (22 min):
- 0:00 - O objetivo: extrair o texto de dentro de uma imagem com Python (OCR).
- 3:00 - O OpenCV (importado como
cv2) para trabalhar com imagens. - 9:00 - O
pytesseractpara extrair o texto. - 12:00 - Instalar o programa Tesseract e apontar o caminho dele no código.
- 18:00 - Configurar os idiomas e extrair o texto da imagem.
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.

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.

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.
Perguntas frequentes
1. Como extrair texto de uma imagem com Python?
Use OCR com a biblioteca pytesseract, que conecta o Python ao Tesseract. Carregue a imagem (com OpenCV ou Pillow), opcionalmente melhore o contraste e chame pytesseract.image_to_string(imagem). O texto reconhecido é retornado como string.
2. O que é o Tesseract?
O Tesseract é um motor de OCR de código aberto, mantido pelo Google, que reconhece texto em imagens. Em Python, ele é usado pela biblioteca pytesseract. Suporta vários idiomas, incluindo o português, bastando instalar o pacote de idioma correspondente.
3. Para que serve o OpenCV no OCR?
O OpenCV trata a imagem antes do OCR: converte para tons de cinza, ajusta contraste, remove ruído e endireita o texto. Esse pré-processamento melhora bastante a precisão do reconhecimento, principalmente em fotos e documentos digitalizados.
4. Dá para reconhecer texto em português?
Sim. Instale o pacote de idioma português do Tesseract e informe o idioma na chamada, com pytesseract.image_to_string(imagem, lang=’por’). Assim o reconhecimento considera os caracteres e acentos do português, melhorando o resultado.
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!


