Pular para o conteúdo
PDFLove

por que meu ocr está impreciso

O que o OCR erra, e como corrigir

OCR é reconhecimento, não conversão, então ele tem uma taxa de acerto e não um resultado. A maior parte do que determina essa taxa foi decidida antes de o arquivo chegar a qualquer programa — no scanner.

01

O que o OCR está fazendo

O reconhecimento óptico de caracteres pega a imagem de uma página, encontra as formas que parecem texto e decide de qual caractere cada forma mais se aproxima. Os motores modernos depois conferem o resultado contra um modelo de linguagem, e é por isso que um "rn" lido errado como "m" costuma ser corrigido em silêncio numa palavra real e deixado como está num código de produto.

Esse último ponto é o que precisa ser entendido. O OCR é mais preciso justamente onde você menos precisa — prosa comum, em que o contexto o resgata — e menos preciso em números de série, referências de conta e cifras, em que não há contexto para resgatar nada e em que um erro custa mais caro.

02

O que arruína a precisão

Resolução abaixo de 300 DPI. É o maior fator isolado. A 300 DPI, um caractere de 10 pontos tem cerca de 40 pixels de altura e é inequívoco. A 150 DPI ele tem 20 pixels e o motor está chutando entre formas parecidas. Digitalizar acima de 400 DPI raramente ajuda e deixa tudo mais lento.

Inclinação. Uma página digitalizada uns dois graus fora do prumo é muito mais difícil de ler, porque a detecção de linhas pressupõe linhas de base horizontais. Dois graus já bastam para atrapalhar e passam fácil despercebidos a olho nu.

Contraste ruim. Fotocópias fracas, fundos acinzentados, papel colorido e marca-texto sobre a escrita reduzem a separação entre tinta e papel de que o motor depende.

Defeitos de JPEG. Comprimir muito uma digitalização antes de rodar o OCR borra as bordas dos caracteres. Se você vai fazer as duas coisas, OCR primeiro e compressão depois.

Diagramação. Texto em várias colunas, tabelas, boxes e notas de rodapé obrigam o motor a descobrir a ordem de leitura antes de ler qualquer coisa, e errar isso embaralha um reconhecimento que de resto era perfeito.

03

O que o OCR não vai fazer

Letra de mão, em geral. Reconhecer letra cursiva é um problema substancialmente mais difícil que reconhecer letra de forma impressa, e o OCR de uso geral vai mal nisso. Letras de forma maiúsculas e bem-feitas às vezes funcionam.

Reconstruir uma tabela direito. Ele muitas vezes lê cada célula corretamente e ainda assim produz uma tabela estruturalmente errada, porque decidir onde as colunas começam é uma inferência separada da leitura dos caracteres.

Recuperar informação que não está lá. Se a digitalização está fraca demais para você ler um dígito com certeza, nenhum motor vai se sair melhor — e, ao contrário de você, ele vai se comprometer com uma resposta sem sinalizar a dúvida.

04

Como obter um resultado melhor

Digitalize de novo, se puder. Trinta segundos a 300 DPI, reto, com bom contraste, ganham de qualquer quantidade de pós-processamento numa digitalização ruim. Se o documento vai ser usado para valer, é tempo bem gasto.

Endireite antes de reconhecer. Mesmo um alinhamento aproximado recupera muita coisa numa página que entrou torta.

Converta para escala de cinza em vez de preto e branco agressivo. A conversão para dois níveis puros no limiar errado come traços finos e fecha os miolos das letras, e as duas coisas prejudicam o reconhecimento.

Defina o idioma. Um motor esperando inglês num documento em português vai corrigir até chegar a um absurdo convicto.

Depois confira a saída — especificamente os números. Leia as cifras contra o original em vez de passar os olhos pela prosa. É ali que se escondem os erros que sobrevivem, e um dígito lido errado parece perfeitamente plausível na página.

Perguntas

Perguntas relacionadas

Que precisão devo esperar do OCR?

Numa digitalização limpa a 300 DPI de texto impresso comum, bem acima de 99% dos caracteres. Numa fotocópia desbotada, em colunas apertadas ou abaixo de 200 DPI, cai bruscamente — e os erros restantes se concentram exatamente nos lugares que o contexto não consegue consertar.

Devo comprimir antes ou depois de rodar o OCR?

Depois. A compressão funciona descartando detalhe de imagem, e o detalhe que ela descarta primeiro são as bordas finas — que é justamente o que o motor de reconhecimento está lendo. OCR primeiro, depois comprima o resultado.

O OCR consegue ler uma foto tirada com o meu celular?

Muitas vezes sim, mas com menos confiabilidade que uma digitalização. Fotos de celular trazem iluminação irregular, distorção de perspectiva por segurar a câmera de lado e sombras. Deitado numa mesa, com luz uniforme, fotografado de cima a prumo, um celular moderno se sai bem.