Como extrair texto de uma imagem ou PDF digitalizado (OCR que funciona)
A precisão do OCR se decide antes de você executá-lo. Como resolução, contraste e inclinação mudam o resultado, e como obter texto limpo de uma página fotografada.
Atualizado em 11 de agosto de 20265 min de leitura
O reconhecimento óptico de caracteres ficou muito bom em silêncio — bom o bastante para que, quando falha, a causa esteja quase sempre na entrada e não no motor. Uma foto tirada em ângulo com pouca luz vai produzir lixo em qualquer sistema de OCR do planeta. Cinco minutos dedicados à imagem antes disso levam a precisão de cerca de 70% para bem acima de 95%, que é a diferença entre um texto que você pode usar e um que terá de redigitar.
O que o OCR está fazendo
O motor trabalha em etapas: localizar as regiões da imagem que contêm texto, deduzir os limites de linha e palavra, segmentar cada caractere e então classificar cada forma contra um modelo de como as letras são. Depois um modelo de linguagem limpa o resultado, e é por isso que rn vira corretamente m dentro de uma palavra real mas não dentro de um número de série.
Cada etapa depende da anterior. Se a detecção de linhas falha porque a página está inclinada, a segmentação de caracteres recebe algo sem sentido e nenhuma classificação, por melhor que seja, recupera isso. Por isso a qualidade da entrada domina tudo.
Os quatro fatores que decidem a precisão
| Fator | Alvo | Por quê |
|---|---|---|
| Resolução | 300 DPI — cerca de 2500 px na largura de uma página A4 | Abaixo disso, os caracteres têm pixels de menos para se distinguir |
| Alinhamento | Dentro de 1–2° da horizontal | A detecção de linhas se degrada muito rápido com inclinação |
| Contraste | Texto escuro sobre fundo claro e uniforme | Baixo contraste borra o limite do caractere |
| Planicidade | Sem curvatura nem deformação em trapézio | Linhas curvas quebram a etapa de detecção de linhas |
A resolução é o que mais se erra. Uma captura de tela de um documento com 800 px de largura simplesmente não tem pixels suficientes por caractere para reconhecimento confiável, por mais nítida que pareça. Se puder, capture de novo com mais resolução em vez de tentar salvar o que você tem.
Preparar uma imagem para OCR
Alinhe primeiro
Mesmo alguns graus de inclinação atrapalham. A ferramenta de alinhamento de imagens detecta o ângulo automaticamente ou deixa você defini-lo à mão.
Corrija a perspectiva
Uma página fotografada de cima em ângulo é um trapézio, não um retângulo, e suas linhas de texto convergem. A correção de perspectiva traz os quatro cantos de volta a um retângulo.
Recorte até o texto
Remova a mesa, os dedos segurando a página e a sombra da borda. Tudo que não é texto é algo que a etapa de detecção de regiões precisa descartar.
Aumente o contraste se estiver chapado
Uma digitalização pálida ou uma foto com pouca luz se beneficia de um reforço de contraste no aprimorador de imagens. Não vá tão longe a ponto de os traços finos se romperem.
E então execute o OCR
Passe a imagem limpa para imagem para texto. Comparar a saída com a sua primeira tentativa costuma ser uma diferença impressionante.
O reconhecimento roda no seu próprio dispositivo: notas fiscais, contratos e documentos de identidade nunca são enviados.
Extrair texto de uma imagemPDFs digitalizados são outro trabalho
Verifique primeiro se o OCR é mesmo necessário. Abra o PDF e tente selecionar uma linha de texto. Se ela for realçada, a camada de texto já existe e você deve extraí-la diretamente em vez de reconhecer imagens dela de novo — a extração é exata, o OCR é um palpite.
Se o cursor desenhar uma caixa sobre uma imagem, cada página é uma foto e o PDF para texto executará o reconhecimento sobre elas. Documentos de várias páginas demoram proporcionalmente mais, então teste primeiro numa única página (separe uma) antes de se comprometer com duzentas.
Uma peculiaridade que vale conhecer: alguns PDFs têm uma camada de texto que é ela própria o resultado de um OCR ruim de anos atrás. O texto seleciona, mas está errado. Nesse caso, renderizar as páginas em imagens com PDF para imagem a 300 DPI e refazer o reconhecimento dá resultado melhor do que confiar no que está lá.
Com o que o OCR ainda tem dificuldade
- Escrita à mão. OCR de texto impresso e reconhecimento de manuscrito são problemas diferentes. Espere resultados ruins com cursiva e resultados variáveis com letra de forma caprichada.
- Tabelas complexas. Os caracteres costumam sair certos; a estrutura não. Limites de coluna e células mescladas frequentemente saem embaralhados, então conte com refazer o layout à mão.
- Layouts em várias colunas. Jornais e artigos acadêmicos muitas vezes são lidos de lado a lado entre colunas, intercalando duas frases sem relação.
- Tipografia estilizada e decorativa. Logotipos, fontes caligráficas e títulos com muito espaçamento estão fora do que o modelo de caracteres espera.
- Documentos de baixo contraste. Cupons térmicos desbotados, cópias carbono e fotocópias pálidas perdem o limite de caractere de que a segmentação precisa.
Seja qual for a fonte, revise a saída. Mesmo com 98% de precisão por caractere, uma página de 2.000 caracteres carrega cerca de quarenta erros — e os erros de OCR se concentram justamente onde importam: nos dígitos de números de referência e dados bancários.
Como o reconhecimento roda inteiramente no seu próprio dispositivo, nada desse conteúdo chega a um servidor. Isso importa nos documentos que as pessoas mais querem converter: notas fiscais, extratos bancários, laudos médicos e documentos de identidade.
Perguntas frequentes
Qual é a precisão do OCR?
Numa digitalização limpa de texto impresso a 300 DPI, bem acima de 98% de precisão por caractere. Numa foto de celular inclinada e com pouca luz pode cair abaixo de 70%. A diferença vem quase toda da entrada — alinhar, recortar e capturar com mais resolução importa mais do que qual motor você usa.
O OCR consegue ler escrita à mão?
Não de forma confiável. Reconhecimento de texto impresso e de manuscrito são problemas diferentes, e o OCR geral foi feito para o primeiro. Letra de forma caprichada às vezes funciona; cursiva geralmente não.
Por que minha saída de OCR está cheia de caracteres sem sentido?
Normalmente resolução ou inclinação. Se a imagem estiver bem abaixo de 300 DPI — cerca de 2500 px na largura de uma página A4 —, os caracteres têm pixels de menos para se distinguir. Se estiver inclinada mais de um par de graus, a detecção de linhas falha e tudo depois herda o erro.
É seguro fazer OCR de documentos confidenciais online?
Só se a ferramenta rodar localmente. A nossa executa o reconhecimento no seu próprio dispositivo, então notas fiscais, contratos e documentos de identidade nunca são transmitidos — que é exatamente a categoria de arquivo que as pessoas mais precisam converter.