OCR Ollama – Extraindo texto com Inteligencia Artificial (IA)

OCR com Ollama e utilizando Inteligencia Artificial (IA)

Hoje vamos abordar como utilizar a Inteligencia artificial (IA / AI) para extrair texto de uma imagem (OCR) usando o Ollama e alguns modelos.

Conforme abordado em artigos anteriores, precisamos ter o ollama instalado em nossa maquina!

Nesse tutorial iremos utilizar o os modelos visuais!

Podemos citar:

  • granite3.2-vision
  • minicpm-v
  • qwen2.5vl:7b
  • llava:7b

entre outros! Para mais detalhes, acesse https://ollama.com/search

Para iniciar, precisamos instalar o modulo python (ollama-ocr):

pip install ollama-ocr

Antes de executar, precisamos baixar os modelos no ollama! Acesse o container do ollama e baixe os modelos.

ollama pull llama3.2-vision:11b
ollama pull granite3.2-vision
ollama pull moondream
ollama pull minicpm-v
ollama pull qwen2.5vl:7b

Nesse exemplo, vamos utilizar a seguinte imagem:

Vamos para o código python! Procurei deixar comentado o codigo para um maior entendimento!

import os
from ollama_ocr import OCRProcessor
import urllib.request

# URL para baixarmos uma imagem com um texto
URL_IMG = "https://seja.pro/wp-content/uploads/2025/06/GGILJhMqgk.jpg"

# Obtemos apenas o nome do arquivo conforme url, no caso "GGILJhMqgk.jpg"
IMG = f"img/{os.path.basename(URL_IMG)}"

# Realizamos o download da imagem
urllib.request.urlretrieve(URL_IMG, IMG)

# Aqui definimos o modelo (Esse foi o melhor modelo que conseguiu extrair o texto corretamente)
MODEL = "qwen2.5vl:7b"

# Inicializar o processador OCR
ocr = OCRProcessor(model_name=MODEL, base_url="http://<INFORMAR O ENDERECO DA API DO OLLAMA>:11434/api/generate")

# Processar a IMAGEM
result = ocr.process_image(
    image_path=IMG, # Path para a Imagem ou o PDF
    format_type="text",  # Tipo de Retorno: markdown, text, json, structured, key_value
    ### (Opcional) Abaixo o prompt para retorno do texto extraido da imagem
    custom_prompt="""
extraia o texto da imagem
nao gere comentarios, analises ou textos adicionais sobre a imagem
nao descreva a imagem apenas apresente o texto extraido
coloque o texto extraido em uma unica linha
""",
    language="Portugues" # Especifique em que idioma está o texto da imagem para um melhor resultado na extração
)

# Mostramos o texto extraido da imagem
print(result)

Ao executar o script, teremos algo como:

Agora que você aprendeu a extrair texto de uma imagem de forma mais eficiente e com poucas linhas de códigos, podemos citar como melhorias, a leitura de videos! Isso fica para um próximo artigo!

Espero que esse artigo tenham gostado desse tutoria!