Artigo
Melhorar a precisão do OCR: corrija a imagem antes de reconhecer o texto
O OCR é tão bom quanto a imagem que você fornece. Uma digitalização torta, de baixo contraste e com ruído produz texto incompreensível independentemente da qualidade do motor. Aqui está o que realmente faz diferença, na ordem em que deve ser feito, tudo rodando localmente no navegador.
Por que o OCR tem dificuldades com digitalizações reais
Um motor OCR como o Tesseract foi treinado em texto limpo, horizontal e de alto contraste. Ele segmenta uma página em linhas, as linhas em palavras e as palavras em formas de caracteres, depois compara cada forma com seu modelo treinado. As digitalizações reais violam essas suposições: a página está inclinada alguns graus, a iluminação é irregular, a resolução é baixa, e a borda da bandeja do scanner ou a página ao lado adiciona ruído escuro. Cada um desses problemas faz com que o passo de segmentação de linhas e caracteres erre, e uma segmentação errada se propaga em caracteres errados. A solução raramente é um motor diferente: é preparar a imagem para que as suposições do motor se sustentem. Na prática, o pré-processamento melhora a precisão mais do que a escolha do motor OCR.

Comece pela resolução: mire em 300 DPI
O Tesseract funciona melhor a cerca de 300 DPI para texto de corpo normal. Abaixo de aproximadamente 200 DPI, os traços de cada glifo se mesclam com os vizinhos e a precisão cai acentuadamente. Se você controla a digitalização, configure o scanner para 300 DPI antes de qualquer outra coisa, pois é a escolha de maior impacto individual. Se você só tem uma imagem de baixa resolução, aumentá-la não inventa detalhes que nunca foram capturados, mas um aumento moderado ainda pode ajudar o motor a separar caracteres que se tocam ao dar mais pixels à segmentação. Texto muito pequeno se beneficia de 400 a 600 DPI; além disso, o arquivo apenas cresce sem nenhum ganho de precisão. Quando a fonte é um PDF, rasterize cada página para uma imagem no DPI alvo primeiro, depois execute o OCR nessa imagem.
Corrija a orientação
Se a página está girada 90, 180 ou 270 graus, o motor lê de lado ou de cabeça para baixo e retorna texto sem sentido. O Tesseract tem um passo de detecção de orientação e script (OSD) que pode estimar a rotação, mas não é confiável em texto esparso, formulários ou páginas dominadas por imagens. Girar a página para a posição vertical você mesmo elimina a incerteza. Este passo não tem perdas e é instantâneo: girar um múltiplo de 90 graus apenas remapeia os pixels existentes para novas posições, sem custo de qualidade nem reamostragem. Faça isso antes de corrigir a inclinação, porque esse passo assume que o texto já está aproximadamente horizontal.
Correção de inclinação: endireite a pequena torção
Até mesmo uma inclinação de 2 a 3 graus, do tipo que resulta de inserir uma página ligeiramente torta, prejudica o OCR: o passo de localização de linhas horizontais divide uma linha de texto em duas, ou mescla duas linhas em uma. A correção de inclinação mede o ângulo dominante das linhas de texto (geralmente por análise de perfil de projeção ou transformada de Hough) e gira a página de volta ao nível. Ao contrário de uma rotação de 90 graus, a correção de inclinação é uma pequena rotação de ângulo arbitrário, portanto reamostrar pixels e adiciona uma quantidade mínima de desfoque. Essa troca quase sempre vale a pena, porque linhas niveladas se segmentam corretamente e o ganho de precisão supera em muito o leve suavizamento. Corrija a inclinação após fixar a orientação e antes de recortar.

Recorte o texto e elimine o ruído
Tudo que não for o texto que você quer é ruído que o motor pode ler erroneamente: a borda escura da bandeja do scanner, parte da página ao lado, um canto grampeado, um dedo ou um furo de perfuração. Recortar até o bloco de texto remove esses alvos falsos, o que melhora a precisão e acelera o reconhecimento porque o motor tem menos área para analisar. Em um documento de múltiplas colunas, o recorte (ou executar o OCR coluna por coluna) também impede o motor de ler horizontalmente pela margem e intercalar duas colunas em uma única linha incompreensível. Recorte após a correção de inclinação, para que o conteúdo fique alinhado no quadro.
Contraste, escala de cinza e como a binarização realmente funciona
O OCR opera em última instância sobre uma imagem binária: cada pixel é classificado como tinta ou papel. O Tesseract faz isso internamente usando o método de Otsu, que escolhe um único limiar global a partir do histograma da imagem. Isso funciona bem quando a página tem iluminação uniforme e bom contraste, e falha quando uma sombra ou um fundo colorido torna um canto mais escuro do que o limiar espera. Os ganhos confiáveis são converter para escala de cinza, para que uma dominante de cor não confunda o limiar, e uniformizar a iluminação para que a página inteira fique de um lado dele. Aumentar o contraste moderadamente ajuda texto fraco. O que costuma sair mal é a binarização manual forçada: se você aplicar o limiar a preto e branco puro com o valor errado, apaga traços fracos que o próprio passo do motor teria mantido. Deixe o motor binarizar e forneça a ele uma imagem uniforme em escala de cinza como ponto de partida. O Sunasty oferece escala de cinza para PDFs; para ajuste fino de contraste, um editor de desktop ainda é melhor, mas uma iluminação uniforme no momento da digitalização importa mais do que qualquer controle deslizante.
Escolha o idioma certo e verifique o resultado
O Tesseract carrega um arquivo de dados treinado separado por idioma e script. Executar um modelo em inglês sobre texto em francês ou grego produz erros evitáveis, especialmente em caracteres acentuados ou não latinos, então selecione o idioma que corresponde ao documento. Por fim, trate o resultado do OCR como um rascunho, não uma resposta definitiva: o motor não tem como saber se um nome está escrito corretamente ou se um 0 não é um O. Revise números, nomes próprios e tudo que for importante legal ou financeiramente. Para tabelas e layouts de múltiplas colunas, espere ter que corrigir a estrutura manualmente, porque o OCR retorna um fluxo de texto reconhecido, não um layout reconstruído.
Ferramentas neste artigo
- OCR · imagem/PDF para textoExtraia texto de imagens digitalizadas ou PDFs inteiramente no seu navegador, roda offline, sem upload.
- Desalinhar páginas digitalizadasEndireite PDFs digitalizados ou imagens com inclinação inteiramente no seu navegador, sem upload.
- Girar e espelhar imagensGire imagens 90/180/270° ou espelhe-as horizontal e verticalmente, sem upload.
- Recortar imagemRecorte suas imagens com visualização interativa, arraste e redimensione a área de recorte. Sem upload.
- PDF para Escala de CinzaConverta um PDF colorido para escala de cinza inteiramente no seu navegador, sem upload.
- Redimensionar imagensRedimensione e converta suas imagens (JPEG, PNG, WebP) sem enviá-las.
- PDF para imagensConverta cada página do PDF em PNG ou JPG diretamente no seu navegador.
Perguntas frequentes
Aumentar a escala de uma digitalização borrada melhora o OCR?
Não muito por si só. Aumentar a escala não pode recuperar detalhes que a digitalização nunca capturou, então uma imagem borrada a 100 DPI continua borrada. Um aumento moderado pode ajudar o motor a separar caracteres que se tocam ao dar mais pixels à segmentação, mas redigitalizar a 300 DPI é muito mais eficaz do que qualquer ampliação.
Devo converter a imagem para preto e branco puro primeiro?
Geralmente não. O Tesseract binariza internamente com o método de Otsu, e um limiar manual forçado com o valor errado apaga traços fracos que o motor teria mantido. Converta para escala de cinza e uniformize a iluminação, depois deixe o motor escolher seu próprio limiar.
Meu texto está de lado. O OCR vai rotacioná-lo automaticamente?
Às vezes. O Tesseract tem um passo de detecção de orientação, mas não é confiável em formulários, texto esparso ou páginas com muitas imagens. Girar a página para a posição vertical 90, 180 ou 270 graus não tem perdas e elimina a incerteza, portanto é a escolha mais segura.
Tudo isso faz upload do meu documento?
Não. A rotação, a correção de inclinação, o recorte, a conversão para escala de cinza e o próprio OCR são executados todos no navegador. O OCR usa uma versão WebAssembly do Tesseract, e os dados linguísticos treinados são baixados uma vez e armazenados em cache. Seu arquivo nunca sai do dispositivo.