Como Pré-processar Imagens
Um Pipeline de 6 Etapas para Melhor Reconhecimento de OCR
A diferença entre uma saída de OCR que você pode usar e uma que você precisa redigitar geralmente não tem nada a ver com o mecanismo em si. Tudo se resume ao que acontece com a imagem antes que o mecanismo de OCR a veja. Uma foto de fatura tirada com o celular, um contrato recebido por fax a 150 DPI, um recibo amassado — esses são os insumos do mundo real que o pré-processamento existe para corrigir. Um pipeline bem projetado de seis etapas pode pegar uma imagem ruidosa, inclinada e de baixo contraste e torná-la tão legível para o mecanismo quanto uma página impressa limpa.

Por que o pré-processamento importa mais que o mecanismo de OCR

Os mecanismos de OCR tradicionais — Tesseract, ABBYY FineReader, Google Cloud Vision — foram projetados para digitalizações limpas e de alto contraste de scanners de mesa a 300 DPI. As imagens do mundo real não se parecem em nada com isso. Uma foto de celular de uma fatura tem sombras da mão do fotógrafo, perspectiva inclinada e distorção de lente. Um pedido de compra recebido por fax chega a 200 DPI com padrões moiré. Um recibo amassado tem linhas de vinco que criam bordas artificiais, e partes do texto ficam na sombra enquanto outras estão superexpostas.
O pré-processamento preenche essa lacuna. Os benchmarks do Document Image Binarization Contest (DIBCO) mostram consistentemente que a escolha da técnica de pré-processamento pode alterar a precisão em nível de caractere em 15–40 pontos percentuais no mesmo mecanismo de OCR usando o mesmo documento. Em documentos degradados — papel amarelado, cópias carbono apagadas, recibos térmicos — a lacuna aumenta ainda mais.
As seis etapas abaixo formam um pipeline completo de pré-processamento. Elas estão ordenadas por dependência: cada etapa pressupõe que a anterior foi aplicada. Você pode pular etapas quando suas imagens de origem já estiverem limpas, mas a ordem não deve ser reorganizada.
Etapa 1: Conversão para tons de cinza — remova a cor sem perder sinal
Uma imagem colorida armazena três canais — vermelho, verde e azul — cada um com suas próprias características de iluminação. Sob iluminação mista, um canal pode ficar estourado enquanto outro retém detalhes. Processar os três de forma independente multiplica a carga computacional e introduz ruído específico de canal que o OCR não precisa. A conversão para tons de cinza os agrupa em um único canal de luminância usando ponderação de luminosidade (Y = 0.299R + 0.587G + 0.114B), preservando as informações de contraste das quais o OCR depende e eliminando o ruído baseado em cor. O resultado é uma imagem de canal único em que apenas o brilho importa, pronta para a remoção de ruído.
Etapa 2: Remoção de ruído — escolha entre Gaussiano e Mediana
O ruído vem de várias fontes: ruído do sensor em câmeras de celular, artefatos de compressão JPEG, pontilhamento (halftone) em materiais impressos e poeira no vidro do scanner. Duas abordagens de filtragem dominam, cada uma adequada a diferentes tipos de ruído.
Desfoque Gaussiano calcula a média de cada pixel com seus vizinhos e é eficaz contra as variações de brilho de distribuição normal típicas de sensores de câmera. A desvantagem é o suavização das bordas — traços finos em uma fonte de 9pt tornam-se mais difíceis de separar para o OCR. Um kernel de 3×3 ou 5×5 geralmente é suficiente.
Filtro de Mediana substitui cada pixel pela mediana de sua vizinhança, tornando-o dramaticamente mais eficaz contra ruído sal-e-pimenta — os pixels brancos e pretos dispersos comuns em documentos digitalizados ou enviados por fax. Ele remove pixels ruidosos isolados enquanto preserva as bordas quase intactas. O tamanho padrão da janela é 3×3; 5×5 para digitalizações muito corrompidas.
A regra prática: manchas dispersas pedem filtro de mediana. Granulação geral pede desfoque Gaussiano. Ambos devem ser aplicados com moderação — cada filtro remove conteúdo real junto com o ruído.
Etapa 3: Binarização — A Etapa de Maior Impacto

A binarização converte uma imagem em tons de cinza em uma imagem puramente preta e branca: cada pixel é tinta (preto) ou papel (branco). Esta é a etapa onde ocorrem os maiores ganhos de precisão — e também as maiores perdas de precisão. Os resultados da competição DIBCO na última década mostram que a diferença entre o melhor método de binarização e um limiar global simples é em média de 30–40 pontos percentuais em documentos degradados. Escolher o método de binarização errado é o erro de pré-processamento mais comum.
O método de Otsu é a binarização padrão na maioria das bibliotecas de OCR. Ele calcula um único limiar global maximizando a variância entre as classes de pixels pretos e brancos. Em uma digitalização limpa e uniformemente iluminada — uma página branca com texto preto sob iluminação uniforme — Otsu produz uma binarização quase perfeita em uma única passagem. O problema é que a maioria dos documentos do mundo real não tem iluminação uniforme. Uma página fotografada em uma mesa tem um gradiente do lado claro da janela para o lado sombreado. Otsu escolhe um único limiar para a imagem inteira, o que significa que o texto na sombra desaparece no fundo enquanto o texto no lado claro fica superexposto.
O limiar adaptativo resolve isso calculando um limiar local para cada pixel com base em sua vizinhança — normalmente janelas de 15×15 a 51×51 pixels. Cada região recebe seu próprio limiar, então um documento metade na sombra e metade na luz solar resulta em texto legível em toda a página. O método de Sauvola, um refinamento do limiar adaptativo, adiciona um termo de viés que melhora o desempenho em larguras de traço variáveis — comuns em cópias carbono e documentos históricos.
A desvantagem é a velocidade e a sensibilidade aos parâmetros. O limiar adaptativo é 5–10× mais lento que Otsu, e o tamanho da janela afeta drasticamente a saída: muito pequeno (abaixo de 11×11), e caracteres grandes são tratados como fundo; muito grande (acima de 75×75), e se aproxima do comportamento de Otsu. Um bom ponto de partida é um tamanho de janela de aproximadamente 1/20 da largura da imagem.
Etapa 4: Desentortamento — Corrigindo a Rotação Antes que Linhas de Texto Sejam Lidas Errado
Inclinação — a rotação de uma imagem de documento em relação à horizontal — é quase universal em documentos capturados por câmera e comum em digitalizados. Mesmo uma pequena inclinação degrada a precisão do OCR desproporcionalmente, pois os algoritmos de segmentação do mecanismo assumem linhas de base horizontais. Pesquisas publicadas no periódico Pattern Recognition mediram o efeito com precisão: a 5°, a precisão em nível de caractere cai 15–20%. A 10°, a taxa de erro excede 40% à medida que as linhas desalinhadas com seus limites de linha. A 15° — facilmente produzida ao fotografar um documento em ângulo — a maioria dos mecanismos de OCR produz texto como um fluxo único de caracteres mesclados, sem quebras de linha.
O método padrão de desentortamento usa a transformada de Hough, que detecta linhas retas (linhas de base do texto) e calcula seu ângulo dominante, então rotaciona a imagem pelo negativo desse ângulo. Uma alternativa mais simples calcula o perfil de projeção — a soma de pixels pretos por linha, que atinge o pico quando o texto está horizontal. Ambos os métodos convergem dentro de 0,1° em documentos limpos. Em imagens ruidosas, a transformada de Hough é mais robusta, pois pode descartar linhas discrepantes e focar na direção dominante do texto.
Etapa 5: Remoção de Bordas — Impedindo que Artefatos de Borda Confundam a Análise de Layout
Documentos digitalizados e imagens capturadas por celular quase sempre incluem conteúdo visual fora do próprio documento — bordas escuras da tampa do scanner, uma página fotografada sobre uma mesa, carimbos de data/hora de fax. Esses elementos corrompem a etapa de análise de layout, pois os algoritmos de OCR detectam regiões da página identificando componentes conectados. Uma borda preta grossa cria um componente conectado que abrange toda a largura da imagem, o que o algoritmo interpreta como um limite de página — fazendo com que ele corte o conteúdo real do documento ou atribua texto de cabeçalho próximo à ordem de leitura errada. As datas do documento, números de página e nomes de fornecedores nas bordas são tipicamente os primeiros a desaparecer.
A remoção automatizada de bordas usa detecção de contornos para encontrar o limite retangular mais externo do conteúdo do documento e recorta até ele. O algoritmo varre para dentro a partir de cada borda procurando a transição da borda escura para a página clara. O corte deve ser conservador: cortar agressivamente demais remove texto marginal, enquanto deixar uma margem fina (2–5 pixels) não afeta o processamento subsequente.
Etapa 6: Aprimoramento de Resolução — Quando Mais Pixels Realmente Ajudam
A precisão do OCR tem uma relação bem documentada com a resolução da imagem. Abaixo de 200 DPI, as bordas dos caracteres ficam pixeladas a ponto de glifos semelhantes se tornarem indistinguíveis — "O" vs zero, "l" minúsculo vs "I" maiúsculo. O padrão ideal de 300 DPI fornece detalhes suficientes para fontes de 8–12pt, mantendo tamanhos de arquivo gerenciáveis. Em 600 DPI, a precisão melhora apenas 2–5% enquanto os tamanhos de arquivo quadruplicam.
O desafio é que as imagens de entrada nem sempre estão sob seu controle. Uma foto de recibo tirada no celular pode ter uma resolução efetiva de 150 DPI; um fax é fixado em 200 DPI. Para esses casos, técnicas de super-resolução — que usam redes neurais para inferir detalhes de alta resolução — podem recuperar parte da informação perdida, gerando um ganho modesto, porém mensurável, de 5–8 pontos percentuais abaixo de 200 DPI. O aumento de escala bicúbico tradicional não produz o mesmo benefício; ele cria bordas suaves, mas não adiciona detalhes reais. Apenas a super-resolução — treinada em milhões de imagens de documentos — pode reconstruir bordas nítidas de caracteres a partir de manchas borradas.
Quando Você Pode Pular o Pré-processamento

O pipeline de pré-processamento acima foi desenvolvido para mecanismos de OCR tradicionais — Tesseract, ABBYY, Google Cloud Vision — que operam caractere por caractere. Esses mecanismos precisam de entrada limpa e de alto contraste porque sua arquitetura carece de consciência contextual. Um segmento de caractere ausente devido a ruído é simplesmente perdido.
O OCR baseado em modelo de linguagem grande visual (VLM) moderno — a arquitetura usada pelo ImageToTable.ai — funciona de forma diferente. Em vez de reconhecer caracteres um a um, um VLM lê a imagem do documento inteiro como uma cena visual e extrai dados ao entender o que cada região significa. Treinado em milhões de imagens de documentos do mundo real — fotos de celular, recibos amassados, digitalizações inclinadas — os tipos de degradação que o pré-processamento corrige já estão representados em seus dados de treinamento. Um documento fotografado com inclinação de 15° sob iluminação mista não é um caso extremo para o modelo; é estatisticamente indistinguível de milhares de exemplos de treinamento.
Isso não significa que o pré-processamento está obsoleto. Em imagens extremamente degradadas — um recibo térmico que ficou totalmente marrom, uma fotocópia de quinta geração — até um VLM se beneficia de limiarização adaptativa ou aprimoramento de contraste. Mas para a faixa intermediária de qualidade de documentos do mundo real, que representa 90% do uso diário, uma ferramenta moderna baseada em VLM pode pular todo o pipeline de pré-processamento e produzir extração precisa diretamente.
Para uma comparação mais aprofundada das duas abordagens, veja OCR vs. Extração com IA: Quando o Pré-processamento é Necessário e nosso guia sobre como melhorar a precisão do OCR com ferramentas modernas de extração.
Solução de Problemas Comuns de Pré-processamento
Seu limite está muito agressivo. Mude de Otsu para limiar adaptativo com um tamanho de janela de 1/20 da largura da imagem. Se sombras profundas permanecerem, aplique primeiro uma passagem de equalização de histograma adaptativa limitada por contraste (CLAHE).
O tamanho do seu kernel está muito grande. Reduza para um kernel 3×3 ou mude de filtro gaussiano para filtro mediano, que preserva melhor as bordas finas. Para documentos com letras pequenas, pule a remoção de ruído se a imagem já estiver limpa.
A transformada de Hough provavelmente detectou uma linha dominante falsa — uma borda ou regra de tabela. Aplique a remoção de bordas antes da correção de inclinação ou mascare os 5% superiores e inferiores da imagem. Aumente o limite de Hough para que apenas linhas quase de largura total sejam registradas como linhas de base.
O limiar adaptativo e a super-resolução são computacionalmente caros. Para grandes lotes, considere usar uma ferramenta de extração baseada em VLM que lida com essas transformações internamente em uma única passagem de inferência por página.
Perguntas Frequentes
O pré-processamento é necessário para todo documento?
Não. Um scan limpo de 300 DPI de texto preto em papel branco não precisa de pré-processamento. O pipeline agrega valor na proporção em que a entrada se desvia desse ideal: fotos de celular, faxes, recibos térmicos e originais desbotados são os que mais se beneficiam. Se você estiver usando uma ferramenta baseada em VLM, o limite é muito menor — o modelo lida internamente com inclinação moderada, iluminação irregular e ruído.
O pré-processamento afeta o reconhecimento de manuscritos de forma diferente do texto impresso?
Sim. O texto impresso tem larguras de traço e espaçamento regulares, então o pipeline padrão funciona bem. A escrita manual tem traços variáveis, caracteres sobrepostos e espaçamento não uniforme. A binarização agressiva (especialmente o método de Otsu) funde traços cursivos em blocos. Para documentos manuscritos, use uma janela de limiar adaptativo maior (51×51 ou superior) e remoção de ruído mais suave. Algumas ferramentas baseadas em VLM pulam a binarização completamente para manuscritos e processam a imagem em escala de cinza diretamente. Consulte nosso guia sobre por que o OCR tem dificuldade com manuscritos para uma análise mais detalhada.
Qual DPI devo usar para digitalizar documentos?
300 DPI é o padrão para a maioria dos documentos comerciais — detalhes suficientes para fontes de 8–12pt a aproximadamente 25 MB por página colorida. 200 DPI funciona para documentos com letras grandes (14pt+). 600 DPI raramente é necessário para OCR; o ganho de precisão sobre 300 DPI é em média de apenas 2–5%, enquanto quadruplica o tamanho dos arquivos. A exceção são documentos com fontes extremamente pequenas (notas de rodapé de 6–8pt, letras miúdas).
O pré-processamento pode corrigir uma foto desfocada de celular de um documento?
Parcialmente. O desfoque de movimento leve (menos de 3 pixels) pode ser corrigido com um filtro de deconvolução de Wiener ou Richardson-Lucy (disponíveis no OpenCV e no scikit-image). O desfoque moderado (3–10 pixels) requer um modelo neural de deblurring. O desfoque intenso fora de foco geralmente é irrecuperável — a informação de alta frequência (bordas dos traços dos caracteres) nunca foi capturada pelo sensor. Tirar a foto novamente com a câmera firme e o documento plano é a única correção confiável.
Devo converter páginas de PDF em imagens antes do pré-processamento?
Depende do tipo de PDF. PDFs nato-digitais contêm texto selecionável e não precisam de OCR. PDFs digitalizados são coleções de imagens em um invólucro PDF — renderize cada página para PNG a 300 DPI usando o pdftoppm do Poppler ou o pdf2image do Python e, em seguida, aplique o pipeline. Consulte nosso guia para extrair dados de PDFs digitalizados para um fluxo de trabalho completo.
Como sei qual etapa do pré-processamento está causando problemas?
Salve a saída de cada etapa como um arquivo de imagem separado. Se a saída do OCR for um lixo, comece com a imagem binarizada — essa etapa tem a maior variação de precisão. Se a binarização parecer limpa, mas a saída ainda estiver errada, compare a imagem corrigida de inclinação com a entrada bruta: uma inclinação residual de 3° invisível a olho nu pode reduzir a precisão em 10%. Cada intermediário salvo mostra exatamente onde o erro foi introduzido.
Quando o Pipeline Não É a Resposta
O pipeline de seis etapas é a abordagem correta quando você controla a entrada — você escolhe o scanner e o DPI. Mas em muitos cenários do mundo real, não é o caso. Faturas chegam de centenas de fornecedores em formatos que variam de PDFs nativamente digitais a fotos tiradas com o celular. A carga do pré-processamento recae sobre a ferramenta.
Uma ferramenta de extração baseada em VLM como ImageToTable.ai — que usa Extraction de Colunas Personalizadas para localizar campos de dados por significado semântico em vez de coordenadas de pixels — tem o pipeline de pré-processamento integrado em seu processo de inferência. Você envia o documento tal como está: inclinado, com sombras, de baixa resolução. O modelo lê o documento como um todo e extrae dados estruturados nas colunas que você definiu.
Isto não torna obsoleto o conhecimento sobre pré-processamento. Entender cada etapa ajuda você a diagnosticar por que qualquer ferramenta de extração pode falhar em uma imagem específica — e indica exatamente o que corrigir. Para um passo a passo sobre como diagnosticar falhas de extração por tipo de documento, veja por que a queda de precisão do OCR varia por tipo de documento.
Teste sua ferramenta de extração no mesmo documento antes e depois de aplicar o pipeline de seis etapas. A diferença dirá exatamente quanto pré-processamento seu fluxo de trabalho precisa.