Amélioration des résultats OCR insatisfaisants

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

La qualité de l'OCR dépend fortement de l'entrée. Une configuration, un filtre ou un réglage qui lit proprement un document peut échouer sur un autre, vous laissant avec un texte corrompu ou incomplet. Lorsque la lecture standard déçoit, le paquet IronOcr.Extensions.AdvancedScan comble généralement l'écart de précision.

La différence réside dans le moteur. IronOCR standard fonctionne sur le moteur Tesseract, tandis que IronOcr.Extensions.AdvancedScan est alimenté par PaddleOCR et ajoute des capacités d'apprentissage automatique. Cela le rend bien adapté aux entrées bruyantes comme les captures d'écran, et aux sources structurées comme les passeports et les plaques d'immatriculation.

Le package expose des méthodes de lecture spécialement conçues pour ces cas :

Solution

1. Commencez avec ReadDocumentAdvanced() et EnhanceResolution()

Avant de recourir à toute autre configuration, associez la méthode ReadDocumentAdvanced() avec le filtre de prétraitement EnhanceResolution(). Cette combinaison résout la plupart des problèmes de précision rencontrés par les utilisateurs avec la lecture standard.

Appliquez le filtre sur le OcrInput, puis passez cette même entrée à 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() exécute le moteur d'apprentissage automatique PaddleOCR pour analyser des documents riches en texte et sensibles à la mise en page, tandis que EnhanceResolution() améliore et affine les entrées basse résolution avant la lecture. La basse résolution est une cause fréquente de mauvais résultats, donc cette étape de pré-traitement est souvent aussi importante que le changement de moteur.

2. Ciblez x64 sur le .NET Framework

Configurez les projets .NET Framework pour qu'ils se compilent en x64. AdvancedScan nécessite une quantité importante de mémoire, et l'exécuter sous une autre architecture peut déclencher des erreurs d'exécution. Consultez le guide Advanced Scan on .NET Framework pour la configuration complète.

Limitations

AdvancedScan offre une grande précision, mais quelques contraintes s'appliquent aujourd'hui :

  • Moins de fonctionnalités de résultats : Les objets de résultat AdvancedScan exposent moins de propriétés que l'objet standard OcrResult.
  • Types de retour différents : chaque méthode de lecture renvoie un type d'objet de résultat différent, consultez la Référence API pour les détails de celui que vous appelez.
  • Pas de PDF consultables : la création de PDF consultables à partir de la sortie AdvancedScan n'est pas encore prise en charge, bien que la fonctionnalité soit en développement.
  • Langues limitées : le package prend actuellement en charge l'anglais, le chinois, le japonais, le coréen et les alphabets latins.

Veuillez noterLa sortie PDF consultable n'est pas disponible pour le moment avec les lectures AdvancedScan. Si vous dépendez de cette fonctionnalité, restez sur le chemin de lecture standard d'IronOCR.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer?
Nuget Téléchargements 6,136,090 | Version : 2026.7 vient de sortir
Still Scrolling Icon

Vous faites encore défiler ?

Vous voulez une preuve rapidement ? PM > Install-Package IronOcr
lancez un échantillon regardez votre image se transformer en texte consultable.