Pular para o conteúdo principal

Tesseract OCR — Motor de Reconhecimento Óptico de Caracteres Open Source

O Tesseract OCR é um motor baseado em deep learning projetado para extrair texto de imagens e arquivos PDF. Utilize esta documentação técnica para dominar a instalação no Windows, Linux e macOS, configurar os modos neurais e integrar o OCR em seus softwares e pipelines de dados.

Nota: O núcleo do Tesseract é um executável de linha de comando e uma biblioteca C++.
Demo Instantânea no Navegador: Não quer configurar binários locais agora? Teste o reconhecimento de imagens de forma 100% privada com nossa Ferramenta de OCR Web Online.

O que é o Tesseract?

O Tesseract é um motor que converte pixels brutos em dados de texto estruturados e pesquisáveis. Nascido nos laboratórios da Hewlett-Packard em 1985, atualmente é mantido pela comunidade global de código aberto e oferece suporte nativo a mais de 100 idiomas através de redes neurais LSTM (Long Short-Term Memory).


Instalação

Por ser uma biblioteca em C++ otimizada, a maneira mais simples de instalar o Tesseract é utilizando o gerenciador de pacotes do seu sistema operacional.

macOS

O Homebrew é o método oficialmente recomendado para macOS (chips Apple Silicon e Intel).

Terminal
brew install tesseract
brew install tesseract-lang

Ubuntu / Debian

Os repositórios oficiais apt contêm versões estáveis do Tesseract.

Terminal
sudo apt install tesseract-ocr
sudo apt install tesseract-ocr-por tesseract-ocr-all

Windows

Instaladores pré-compilados são disponibilizados pelo projeto UB Mannheim. Gerenciadores como scoop ou winget também suportam o Tesseract nativamente.

PowerShell
scoop install tesseract
scoop install tesseract-languages

Início Rápido e Comandos CLI Básicos

O Tesseract opera primariamente por linha de comando. Extrair texto de uma imagem requer apenas uma linha.

Terminal
tesseract nome_imagem base_saida [-l idioma] [-psm modoseg] [arquivo_config...]

Exemplo: Extrair Texto em Português

Para extrair texto de fatura.png e salvá-lo em resultado.txt:

Terminal
tesseract fatura.png resultado -l por
Nota: Omita a extensão .txt no nome de saída. O Tesseract a adiciona automaticamente ao salvar texto comum.

Modos de Segmentação de Página (PSM)

Os Modos de Segmentação de Página (PSM) definem como o Tesseract divide o layout visual da imagem para encontrar blocos de texto. Por padrão, o Tesseract espera uma página completa (PSM 3). Se a sua entrada for uma única linha, texto esparso ou uma coluna, use a flag --psm correspondente.

Regra Rápida: Use **PSM 3 (Auto)** para documentos em geral, **PSM 6 (Bloco único)** para parágrafos uniformes e **PSM 7 (Linha única)** para rótulos e códigos de barras.
  • 0: Apenas detecção de orientação e escrita (OSD).
  • 1: Segmentação automática com OSD.
  • 3: Segmentação automática completa, sem OSD. *(Padrão)*
  • 4: Assume uma coluna única de texto com tamanhos variáveis.
  • 6: Assume um único bloco uniforme de texto.
  • 7: Trata a imagem como uma única linha de texto.
  • 11: Texto esparso. Localiza o máximo de texto possível sem ordem fixa.
  • 13: Linha pura. Processa como linha única ignorando heurísticas internas.

Para forçar o processamento como linha individual:

Terminal
tesseract codigo_barras.png stdout --psm 7

Modos do Motor de OCR (OEM)

Os Modos do Motor (OEM) permitem alternar entre o algoritmo legado de correspondência de padrões e a moderna rede neural LSTM. Você pode alternar os modos através da flag --oem para calibrar velocidade e precisão.

Recomendação: **OEM 1 (LSTM)** é o padrão no Tesseract 5 e entrega a maior precisão. **OEM 0 (Legado)** é recomendado apenas para fontes históricas específicas.
  • 0: Apenas motor clássico legado. (Visão computacional tradicional).
  • 1: Apenas motor de rede neural LSTM. (Rápido e de altíssima precisão).
  • 2: Motores legado e LSTM combinados.
  • 3: Padrão, de acordo com o modelo .traineddata carregado.

Formatos de Saída

Além de emitir texto simples no terminal ou em arquivos .txt, o Tesseract é um analisador de documentos completo capaz de gerar PDFs pesquisáveis e geometrias de layout.

PDFs com Texto Pesquisável

Para converter uma imagem digitalizada em um arquivo PDF pesquisável com texto invisível perfeitamente alinhado:

Terminal
tesseract documento.tif saida_pdf pdf

PDF Apenas de Texto Invisível

Útil para sobrepor texto a PDFs já existentes em um pipeline de automação:

Terminal
tesseract digitalizacao.png saida textonly_pdf

hOCR / TSV / ALTO

Para obter coordenadas exatas em pixels de cada palavra e seus respectivos níveis de confiança:

Terminal
tesseract imagem.png saida hocr
tesseract imagem.png saida tsv

Bibliotecas e Wrappers de Programação

Deseja integrar o Tesseract em um aplicativo web, script ou microsserviço? A comunidade desenvolveu bibliotecas para quase todas as linguagens modernas.

Python (pytesseract)

Requer o binário CLI do Tesseract instalado na máquina.

Python
import pytesseract
from PIL import Image

img = Image.open('recibo.png')
texto = pytesseract.image_to_string(img, lang='por')
print(texto)
Dica de Pré-Processamento: Para imagens com sombras ou ruído, aumente o contraste e aplique limiarização com a biblioteca Python Pillow antes de chamar o pytesseract.

Node.js e JavaScript (tesseract.js)

Port completo em WebAssembly do código C++. Executa diretamente no navegador ou no ambiente Node.js sem necessidade de binários locais.

JavaScript
const Tesseract = require('tesseract.js');

Tesseract.recognize(
  'https://tesseractocr.org/exemplo.png',
  'por',
  { logger: m => console.log(m) }
).then(({ data: { text } }) => {
  console.log(text);
});

Treinamento de Modelos OCR Customizados

O Tesseract 5 utiliza a infraestrutura do projeto tesstrain para treinar e ajustar redes neurais LSTM.

O Repositório tesstrain

Ao contrário da versão 3, o treinamento na versão 5 é automatizado através de Makefiles que organizam a geração em larga escala de dados de treino.

Terminal
git clone https://github.com/tesseract-ocr/tesstrain
cd tesstrain
make tesseract-langdata

Para instruções completas sobre Ground Truth (GT) e épocas de treinamento, consulte o repositório oficial tesstrain no GitHub.


Ferramentas e Motores Relacionados

Embora o Tesseract seja a referência de código aberto consolidada, soluções modernas costumam combiná-lo com bibliotecas complementares:

  • PaddleOCR: Motor baseado em deep learning avançado (PP-OCR) com excelente capacidade de reconhecimento de tabelas e texto curvilíneo.
  • Docling: Analisador de documentos para IA generativa e RAG que converte PDFs, imagens e arquivos do Office em Markdown e JSON estruturados.
  • Python Pillow: Biblioteca padrão para tratamento e pré-processamento de imagens (ajuste de brilho, limiarização e corte) antes do OCR.

Fim da Documentação Principal do Tesseract.

Aviso Legal: TesseractOCR.org é um projeto de documentação independente criado pela comunidade e não é afiliado, endossado ou conectado formalmente com o projeto oficial Tesseract OCR nem seus mantenedores.