Melhorando Resultados OCR Insatisfatórios

This article was translated from English: Does it need improvement?
Translated
View the article in English

A qualidade do OCR depende muito da entrada. Uma configuração, filtro ou ajuste que lê um documento claramente pode falhar em outro, deixando você com texto confuso ou incompleto. Quando a leitura padrão decepciona, o pacote IronOcr.Extensions.AdvancedScan geralmente fecha a lacuna de precisão.

A diferença se resume ao motor. IronOCR padrão opera no motor Tesseract, enquanto IronOcr.Extensions.AdvancedScan é alimentado por PaddleOCR e adiciona capacidades de aprendizado de máquina. Isso o torna bem adequado para entradas ruidosas como capturas de tela, e para fontes estruturadas como passaportes e placas de licença.

O pacote expõe métodos de leitura projetados para esses casos:

Solução

1. Comece com ReadDocumentAdvanced() e EnhanceResolution()

Antes de recorrer a qualquer outra configuração, emparelhe o método ReadDocumentAdvanced() com o filtro de pré-processamento EnhanceResolution(). Esta combinação resolve a maioria dos problemas de precisão que os usuários encontram com a leitura padrão.

Aplique o filtro ao OcrInput, depois passe a mesma entrada para ReadDocumentAdvanced():

var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadPdf("document.pdf");
// Upscale and sharpen low-resolution input before reading
input.EnhanceResolution();
var result = ocr.ReadDocumentAdvanced(input);
Console.WriteLine(result.Text);
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadPdf("document.pdf");
// Upscale and sharpen low-resolution input before reading
input.EnhanceResolution();
var result = ocr.ReadDocumentAdvanced(input);
Console.WriteLine(result.Text);
Imports IronOcr

Dim ocr As New IronTesseract()
Using input As New OcrInput()
    input.LoadPdf("document.pdf")
    ' Upscale and sharpen low-resolution input before reading
    input.EnhanceResolution()
    Dim result = ocr.ReadDocumentAdvanced(input)
    Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

ReadDocumentAdvanced() executa o motor de aprendizado de máquina PaddleOCR para analisar documentos pesados em texto, conscientes de layout, enquanto EnhanceResolution() aumenta e aprimora a entrada de baixa resolução antes da leitura. Baixa resolução é uma causa raiz comum de resultados ruins, então este passo de pré-processamento geralmente importa tanto quanto a troca de motor.

2. Alvo x64 no .NET Framework

Configure projetos .NET Framework para compilar como x64. AdvancedScan requer uma quantidade significativa de memória, e executá-lo sob uma arquitetura diferente pode desencadear erros de execução. Consulte o guia Advanced Scan on .NET Framework para o conjunto completo.

Limitações

AdvancedScan oferece forte precisão, mas algumas restrições se aplicam hoje:

  • Menos recursos de resultado: Objetos de resultados do AdvancedScan expõem menos propriedades do que o objeto padrão OcrResult.
  • Tipos de retorno diferentes: cada método de leitura retorna um tipo de objeto de resultado diferente, então verifique a Referência de API para os detalhes específicos do que você chamar.
  • Sem PDFs pesquisáveis: construir PDFs pesquisáveis a partir da saída do AdvancedScan ainda não é suportado, embora o recurso esteja em desenvolvimento.
  • Idiomas limitados: o pacote atualmente suporta inglês, chinês, japonês, coreano e alfabetos latinos.

ObserveA saída PDF pesquisável não está disponível a partir de leituras AdvancedScan por agora. Se você depende desse recurso, continue no caminho de leitura padrão do IronOCR.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais
Pronto para começar?
Nuget Baixar 6,136,090 | Versão: 2026.7 recém-lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronOcr
executar um exemplo Veja sua imagem se transformar em texto pesquisável.