Reconhecimento Óptico de Caracteres (OCR)
O OCR permite transformar fotos de documentos em texto editável. Para isso, utilizamos o motor Tesseract, mantido pela Google.
O OCR permite transformar fotos de documentos em texto editável. Para isso, utilizamos o motor Tesseract, mantido pela Google.
Este projeto exige a instalação do motor no sistema e da biblioteca no Python:
.exe do Tesseract (ex: do repositório UB Mannheim).C:\\Program Files\\Tesseract-OCR\\tesseract.exe).pip install pytesseract Pillow
No Windows, você precisa definir a variável tesseract_cmd para que o script funcione.
import pytesseract
from PIL import Image
import os
import sys
def extrair_texto_imagem(caminho_foto):
# CONFIGURAÇÃO PARA WINDOWS
if sys.platform == "win32":
caminho_tesseract = r'C:\\Program Files\\Tesseract-OCR\\tesseract.exe'
pytesseract.pytesseract.tesseract_cmd = caminho_tesseract
try:
if not os.path.exists(caminho_foto):
return "Erro: Arquivo não encontrado."
# Carrega a imagem e processa o OCR
with Image.open(caminho_foto) as img:
# lang='por' para português (requer pacote de idioma instalado)
texto = pytesseract.image_to_string(img, lang='eng')
return texto.strip()
except Exception as e:
return f"Erro no processamento: {e}"
# Exemplo de uso
if __name__ == "__main__":
resultado = extrair_texto_imagem('doc.png')
print("--- Texto Extraído ---")
print(resultado)
win32).with Image.open garante que a imagem seja fechada corretamente após a leitura, liberando memória.lang='eng' ou 'por', essencial para a precisão do reconhecimento de caracteres especiais.