Top

Como extrair textos de imagens usando Python

Você quer extrair texto de uma imagem? Você pode fazer isso bem rápido com apenas algumas linhas de código Python. É totalmente grátis e oferece resultados com reconhecimento de som.

PDFelement: um editor de PDF potente e simples de usar

Comece a usar agora mesmo a ferramenta mais fácil que existe para lidar com PDFs, o PDFelement!

O Reconhecimento Ótico de Caracteres (OCR) é uma tecnologia que permite extrair textos de imagens. O OCR consegue reconhecer caracteres impressos ou manuscritos em imagens e extraí-los no formato de texto. Daí você poderá editá-lo e compartilhar o texto extraído usando outros programas, como um editor de texto.

Muitas ferramentas suportam o OCR. Porém, a maioria dos leitores de OCR não são gratuitos ou o uso gratuito é limitado. Felizmente, graças ao empenho de muitos pesquisadores e da comunidade dos códigos abertos, você pode testar ou usar diversos leitores OCR ótimos gratuitamente.

O Python é uma linguagem de programação eficaz e fácil que é especialmente popular no processamento de textos e imagens. Com um vasto número de bibliotecas disponíveis, o Python consegue completar automaticamente diversas tarefas, incluindo conversão de imagem em texto. Este artigo explica como usar o Python com dois leitores OCR para extrair texto de imagens.

Como extrair textos de imagens usando o Python

Usando o Tesseract

O Tesseract é um leitor de OCR de código aberto bastante conhecido que foi pré-programado para suportar mais de 100 idiomas. Neste artigo, usamos o Python-tesseract (pytesseract), um wrapper de Python para o Tesseract que permite usar o Tesseract com o Python. Todas orientações descritas neste artigo são executadas em computador rodando Windows.

Passo 1: baixe e instale o Python.

O Python 3.6+ é um requisito para usar o pytesseract. Então certifique-se de instalar uma versão mais recente do que a 3.6. Na janela de instalação, selecione Add Python X.XX to PATH para adicionar o Python automaticamente ao seu caminho do sistema. Do contrário, você terá que configurar o caminho do sistema manualmente após instalar o Python.

instale o python

Passo 2: baixe e instale o Tesseract.

Você pode baixar o pacote de instalação mais recente do Tesseract para Windows aqui. Em seguida, na janela de instalação, selecione os idiomas adicionais e scripts que você quer instalar. Por padrão, você pode instalar apenas o idioma inglês.

instale o tesseract

O Tesseract tem uma ferramenta de comando de linha bem prática que você pode usar para executar o OCR em imagens. Após instalar o Tesseract, abra uma janela CLI, navegue até a pasta em que está a imagem de onde você quer extrair o texto e execute o seguinte comando:

tesseract out

Esse comando extrai texto de uma imagem especificada e salva-o no arquivo out.txt. Para utilizar o Tesseract com o Python, prossiga para o próximo passo e instale os pacotes do Python solicitados.

Passo 3: instale os pacotes do Pillow e do pytesseract.

O Pillow é usado para processar imagens e o pytesseract é um requisito para usar o Tesseract com o Python. Você pode instalar os pacotes executando os seguintes comandos na janela CLI:

pip install pillow
pip install pytesseract

install python packages

Passo 4: escreva o código Python para extrair texto de imagens.

Quando os pacotes estiverem instalados, você estará pronto para escrever seu código Python para extrair texto de imagens. Vá até a pasta em que está a imagem de onde você quer extrair o texto. Crie um arquivo de texto e altere o nome dele para extract.py. Você pode mudar o nome do arquivo de texto para qualquer outra coisa, mas é obrigatório que a extensão do arquivo seja py.

Use um editor de texto como o Notepad para abrir o arquivo extract.py. Copie o seguinte código de amostra no arquivo e salve-o:

from PIL import Image
import pytesseract
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
print(pytesseract.image_to_string(Image.open('test.jpg')))

Para conseguir executar esse script você precisa ter um arquivo de imagem chamado test.jpg na mesma pasta que o arquivo extract.py. Este artigo está usando a seguinte imagem como exemplo:

imagem para teste de ocr

Abra a janela CLI, vá à pasta onde a imagem está e então execute o seguinte comando:

python extract.py

Espera-se que você obtenha o seguinte comando.

tesseract result

O resultado mostra que o texto foi extraído da imagem com sucesso. Isso conclui o processo básico para usar o Tesseract com o Python. Para obter mais informações sobre o uso do pytesseract, consulte seu manual.

Se você quer extrair texto de diversas imagens em um lote, um jeito simples é adicionar os nomes dos arquivos a um arquivo TXT, como images.txt. Por exemplo:

test.jpg
test1.jpg

Então modifique o arquivo extract.py como orientado a seguir:

from PIL import Image
import pytesseract
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
print(pytesseract.image_to_string('images.txt'))

Quando executar esse script o texto será extraído de todas as imagens especificadas no arquivo images.txt.

Usando o EasyOCR

O EasyOCR é um pacote Python que tem um leitor de OCR pronto para usar e que suporta mais de 80 idiomas. O EasyOCR é fácil de instalar e simples de usar. Por isso ele é uma ótima solução para executar um OCR com Python. Basta você instalar o PyTorch (requisito apenas no Windows) e os pacotes do EasyOCR; assim você poderá extrair textos de imagens usando o Python.

Passo 1: instale os pacotes do Python solicitados.

Para usar o EasyOCR no Windows você tem que instalar os pacotes do PyTorch e do EasyOCR. Execute os seguintes comandos em sequência para instalar os pacotes:

pip install torch torchvision torchaudio
pip install easyocr

pip install torch torchvision torchaudio

pip install easyocr

Passo 2: escreva o código Python para usar o EasyOCR.

Vá até a pasta onde sua imagem está, crie um arquivo .py, como extract.py, e então copie o seguinte código de amostra no arquivo:

import easyocr
reader = easyocr.Reader(['en'])
result = reader.readtext('test.jpg', detail = 0)
print(result)

A figura a seguir mostra o resultado do comando quando executa o arquivo extract.py.

resultado do easyocr

Como visto no resultado do comando, o texto foi extraído da imagem de teste.

Vantagens e desvantagens de usar o Python

Python é uma linguagem de programação fácil de aprender e de usar. É amplamente utilizada em Deep Learning e no Processamento de Linguagem Natural. Comparado a outras linguagens, o código Python normalmente é mais simples e curto. No entanto, leva tempo para aprender Python e você precisa pesquisar os leitores OCR que você deseja usar com o Python.

Vantagens de usar o Python para extrair texto de imagens.

  • Leitores de OCR como o Tesseract e o EasyOCR são gratuitos.
  • O Python é adequado para tarefas repetitivas e em lote com o OCR.
  • Ele é eficaz e rápido ao processar grande quantidades de imagens usando o Python.
  • Você pode obter resultados de conversão de som ajustando a opção ts do leitor de OCR.
  • Você pode salvar seu belo script Python e usá-lo sempre que precisar extrair texto de imagens. Você também pode compartilhar o script com outras pessoas que precisam fazer as mesmas conversões.

Desvantagens de usar o Python para extrair texto de imagens.

  • É necessário ter conhecimento em Python.
  • É preciso pesquisar os leitores de OCR que você quer usar.
  • Os leitores de OCR de código aberto podem não ser tão precisos quanto os pagos. Além disso, alguns podem não conseguir reconhecer textos escritos à mão.

Apesar disso, sempre é bom aprender alguma coisa nova. E você também pode recorrer a outras ferramentas quando precisar. Existem várias ferramentas que podem ajudar você a extrair texto de imagens com rapidez. Você pode escolher aquela que atender melhor suas necessidades.

Como extrair textos de imagens sem o Python

Se você é fã de programação e está procurando por uma ferramenta inovadora, o PDFelement é um app rápido e fácil que você deveria conhecer.

O PDFelement é um editor de PDF rápido e completo que permite visualizar, editar e converter PDFs. O PDFelement também tem um avançado leitor de OCR, que pode ser usado para extrair textos de imagens com precisão e eficácia.

Baixe Grátis Baixe Grátis Baixe Grátis Baixe Grátis

seguridad garantizada100% Seguro | Sem software malicioso |ai Impulsionado por IA

ocr do pdfelement

Siga estes passos para extrair texto de imagens no PDFelement:

Passo 1: abra o PDFelement. Arraste o arquivo a partir do local em que está a imagem de onde você quer extrair o texto e solte-o na janela do PDFelement. Ou você pode optar por Criar PDF > Do arquivo e selecionar o arquivo de imagem. Então o PDFelement converterá a imagem em um PDF e o abrirá em uma nova guia.

Passo 2: no menu de Ferramentas, clique em "OCR" para executar uma leitura de OCR na imagem. Isso permite que o PDFelement reconheça todos os caracteres na imagem e transforme-os em texto editável e pesquisável.

Passo 3: copie o texto no local desejado e edite-o. Você também pode converter o PDF com o texto editável para outros formatos, como Word ou Excel.

Além do leitor de OCR, o PDFelement também oferece outros recursos que podem ajudar a aumentar sua produtividade.

  • Abra e visualize arquivos PDF com rapidez
  • Edite conteúdos em arquivos PDF, como textos e imagens
  • Converta PDFs para vários formatos, como EPUB e Word

Conclusão

O Python é uma linguagem de programação excelente, adequada para automatizar tarefas repetitivas. Usando o Python você conseguirá extrair textos de imagens com facilidade e rapidez com um leitor OCR de código aberto. Este artigo apresentou alguns meios de aplicar o potencial de OCR do Tesseract e do EasyOCR usando o Python.

No entanto, extrair textos de imagens usando o Python envolve programação, o que exige conhecimentos básicos de programação e de linguagem Python. Caso você não tenha conhecimento em programação, exitem muitas outras opções para extração de texto de imagens. Uma ótima opção a considerar é o PDFelement, um programa avançado e completo que pode ajudar você a extrair texto de imagens com facilidade e eficácia.