Comment lire des images d'écriture manuscrite avec IronOCR

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

IronOCR fournit une méthode spécialisée ReadHandwriting qui numérise de manière fiable le texte manuscrit à partir d'images, atteignant une précision d'environ 90 % pour l'écriture manuscrite anglaise malgré les défis inhérents à l'espacement irrégulier et aux variations de traits.

Démarrage rapide : Lire des images d'écriture manuscrite avec IronOCR

  1. Installer IronOCR et le paquet IronOcr.Extensions.AdvancedScan
  2. Créez une instance IronTesseract
  3. Chargez votre image d'écriture manuscrite en utilisant LoadImage()
  4. Appeler la méthode ReadHandwriting()
  5. Accédez au texte extrait de OcrResult
  1. Installez IronOCR avec le Gestionnaire de Packages NuGet

    PM > Install-Package IronOcr
  2. Copiez et exécutez cet extrait de code.

    using IronOcr;
    
    var ocrTesseract = new IronTesseract();
    using var ocrInput = new OcrInput();
    ocrInput.LoadImage("handwriting.png");
    var ocrResult = ocrTesseract.ReadHandwriting(ocrInput);
    Console.WriteLine(ocrResult.Text);
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronOCR dans votre projet dès aujourd'hui avec un essai gratuit

    arrow pointer

La lecture automatique de textes manuscrits à partir d'images est extrêmement difficile car les gens écrivent différemment. Cette incohérence massive rend l'OCR difficile. Les documents cruciaux tels que les anciens dossiers, les formulaires d'admission des patients et les enquêtes auprès des clients nécessitent toujours un traitement manuel, ce qui entraîne des flux de travail sujets aux erreurs qui compromettent l'intégrité des données.

IronOCR résout ce problème en introduisant une méthode spécialisée pour comprendre et numériser de manière fiable les images d'écriture manuscrite. Construit sur le puissant moteur Tesseract 5, IronOcr combine un traitement d'image avancé avec l'apprentissage automatique pour offrir des capacités de reconnaissance de l'écriture manuscrite à la pointe de l'industrie.

Ce guide explique étape par étape la mise en œuvre de l'OCR de l'écriture manuscrite dans vos applications .NET. Que vous numérisiez des documents historiques, traitiez des formulaires médicaux ou convertissiez des notes manuscrites, vous apprendrez à obtenir des résultats fiables avec IronOcr.

Commencez avec IronOCR


Pour utiliser cette fonction, vous devez d'abord installer le paquet IronOcr.Extensions.AdvancedScan. Veuillez noter que la méthode ReadHandwriting ne prend actuellement en charge que l'anglais. Pour l'OCR multilingue , utilisez la méthode standard Read() avec les packs de langue appropriés.

Comment lire des images d'écriture manuscrite avec IronOCR?

La lecture d'une image d'écriture manuscrite avec IronOCR est simple. Commencez par instancier le moteur OCR, puis chargez l'image avec LoadImage, et enfin utilisez la méthode spécialisée ReadHandwriting conçue pour la reconnaissance de l'écriture manuscrite. Imprimez le texte extrait pour en vérifier l'exactitude et le contenu.

Avant le traitement, pensez à appliquer des filtres de correction de la qualité de l'image pour améliorer la lisibilité. Ces filtres peuvent améliorer considérablement la précision de la reconnaissance, en particulier pour les documents numérisés dont le contraste ou la résolution est faible.

Quel format d'entrée dois-je utiliser?

Exemple d'image d'écriture manuscrite montrant un texte cursif pour le traitement OCR
:path=/static-assets/ocr/content-code-examples/how-to/read-handwritten-image.cs
using IronOcr;
using System;

// Instantiate OCR engine
var ocr = new IronTesseract();

// Load handwriting image
var inputHandWriting = new OcrInput();
inputHandWriting.LoadImage("handwritten.png");

// Perform OCR on the handwriting image
OcrHandwritingResult result = ocr.ReadHandwriting(inputHandWriting);

// Output the recognized handwritten text
Console.WriteLine(result.Text);
// Output the confidence score of the OCR result
Console.WriteLine(result.Confidence);
$vbLabelText   $csharpLabel

Quels résultats puis-je attendre ?

Résultats de l'OCR montrant le texte manuscrit extrait avec le score de confiance

La méthode ReadHandwriting a atteint un score de confiance de 90,6 %, identifiant correctement la majorité du texte, y compris la phrase d'ouverture " Je m'appelle Erin Fish ".

Cet excellent résultat démontre la capacité d'IronOCR à traiter des textes manuscrits difficiles. Bien que le moteur ait eu du mal à gérer l'espacement et les lettres connectées, il a réussi à extraire le message principal. Cela montre qu'IronOCR traite efficacement des textes complexes et non standard.

Pour les novices en matière d'OCR, commencez par notre tutoriel d'OCR simple pour comprendre les bases avant de vous attaquer à la reconnaissance de l'écriture manuscrite.

Comment utiliser la version asynchrone?

IronOCR prend en charge une version asynchrone : ReadHandwritingAsync. Cela s'avère utile lorsqu'il s'agit de code asynchrone qui nécessite de récupérer des images d'entrée avant de les traiter. La documentation de support asynchrone fournit des conseils complets sur la mise en œuvre d'opérations OCR asynchrones.

En utilisant la même entrée, voici comment utiliser la méthode asynchrone :

:path=/static-assets/ocr/content-code-examples/how-to/read-handwritten-image-async.cs
using IronOcr;
using System;
using System.Threading.Tasks;

using System;
using System.Threading.Tasks;
#endregion

public class read_handwritten_image_async
{
    public async Task codeAsync()
    {
        // Instantiate OCR engine
        var ocr = new IronTesseract();

        // Load handwriting image
        var inputHandWriting = new OcrInput();
        inputHandWriting.LoadImage("handwritten.png");

        // Perform OCR using the async method with 'await'.
        // The compiler automatically infers this top-level code block as an 'async Task Main()' method.
        OcrHandwritingResult result = await ocr.ReadHandwritingAsync(inputHandWriting);

        // Output the recognized handwriting text
        Console.WriteLine(result.Text);
        // Output the confidence score of the OCR result
        Console.WriteLine(result.Confidence);
    
$vbLabelText   $csharpLabel

Vous pouvez fournir un paramètre optionnel timeoutMs pour spécifier les millisecondes avant l'annulation automatique. La valeur par défaut est -1, ce qui signifie aucune limite de temps : l'opération s'exécute jusqu'à son terme.

Techniques de traitement avancées

Pour les scénarios complexes de reconnaissance de l'écriture manuscrite, envisagez ces techniques avancées :

OCR spécifique à une région : Lorsque vous travaillez avec des formulaires ou des documents structurés, utilisez l'OCR par région pour vous concentrer sur des zones spécifiques contenant du texte manuscrit. Cette approche améliore la précision en limitant la zone de traitement :

using IronOcr;
using IronSoftware.Drawing;

var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();

// Define a specific region for signature area
var signatureRegion = new CropRectangle(x: 100, y: 500, width: 300, height: 100);
ocrInput.LoadImage("form-with-signature.png", signatureRegion);

var signatureResult = ocrTesseract.ReadHandwriting(ocrInput);
Console.WriteLine($"Signature text: {signatureResult.Text}");
using IronOcr;
using IronSoftware.Drawing;

var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();

// Define a specific region for signature area
var signatureRegion = new CropRectangle(x: 100, y: 500, width: 300, height: 100);
ocrInput.LoadImage("form-with-signature.png", signatureRegion);

var signatureResult = ocrTesseract.ReadHandwriting(ocrInput);
Console.WriteLine($"Signature text: {signatureResult.Text}");
$vbLabelText   $csharpLabel

Suivi de l'avancement : Pour le traitement par lots de plusieurs documents manuscrits, mettez en place un suivi de l'avancement pour surveiller l'opération d'OCR :

ocrTesseract.OcrProgress += (sender, e) => 
{
    Console.WriteLine($"Processing: {e.ProgressPercent}% complete");
};
ocrTesseract.OcrProgress += (sender, e) => 
{
    Console.WriteLine($"Processing: {e.ProgressPercent}% complete");
};
$vbLabelText   $csharpLabel

Quels sont les défis à relever ?

Bien qu'IronOCR atteigne un niveau de confiance élevé dans la conservation de la structure globale et du texte, l'OCR éprouve encore des difficultés avec l'écriture manuscrite, ce qui entraîne des erreurs localisées. Les défis courants nécessitent une vérification des résultats extraits :

Espacement irrégulier : Un texte imprimé présente un espacement uniforme entre les lettres. L'espacement entre les traits de l'écriture manuscrite et les connexions entre les lettres varient considérablement. Cela provoque une segmentation incorrecte des caractères, comme le montre le fait que ununiformed se divise en caractères individuels (non unicommed) au lieu d'un seul mot.

Variation des traits : Chaque personne a une écriture unique, et les individus écrivent la même lettre différemment à chaque fois. Les connexions et les motifs des lettres varient considérablement. Le moteur doit en effet gérer une grande variabilité dans l'inclinaison, la pression et la forme des traits, ce qui rend la correspondance des formes moins fiable qu'avec des polices normalisées.

Formes de caractères ambiguës : L'écriture manuscrite utilise souvent des traits simplifiés ou hâtifs, créant des formes ambiguës. Un caractère écrit rapidement e peut ressembler à un c, ou les caractères liés l et i peuvent être confondus.

Qualité et résolution : Une mauvaise qualité de numérisation, une faible résolution ou une encre délavée ont un impact significatif sur la précision de la reconnaissance. Si vous rencontrez de tels problèmes, consultez notre guide de dépannage général pour trouver des solutions.

Lorsque vous utilisez cette méthode, vérifiez que le résultat correspond à l'entrée prévue, en accordant une attention particulière aux mots peu espacés ou mal formés. Pensez à mettre en œuvre une logique de post-traitement pour gérer les erreurs de reconnaissance courantes spécifiques à votre cas d'utilisation.

Avertissement La méthode ReadHandwriting ne peut atteindre qu'une faible précision d'extraction OCR lorsqu'il s'agit d'écritures cursives.

Questions Fréquemment Posées

Quelle précision puis-je attendre lors de l'extraction de texte manuscrit à partir d'images ?

La méthode ReadHandwriting d'IronOCR atteint une précision d'environ 90 % pour la reconnaissance de l'écriture manuscrite en anglais, malgré les défis inhérents à l'espacement irrégulier et aux variations de traits qui rendent l'OCR de l'écriture manuscrite particulièrement difficile.

Quelles sont les langues prises en charge pour la reconnaissance de l'écriture manuscrite ?

La méthode ReadHandwriting d'IronOcr ne prend actuellement en charge que l'anglais. Pour l'OCR en plusieurs langues, vous devrez utiliser la méthode standard Read() avec les packs de langue appropriés au lieu de la méthode spécialisée handwriting.

Quel progiciel supplémentaire dois-je installer pour l'OCR de l'écriture manuscrite ?

Pour utiliser la fonctionnalité de reconnaissance de l'écriture manuscrite dans IronOCR, vous devez installer le package IronOcr.Extensions.AdvancedScan en plus de la bibliothèque principale IronOCR.

Comment mettre en œuvre la reconnaissance de l'écriture manuscrite de base en C# ?

Créez une instance IronTesseract, chargez votre image d'écriture manuscrite à l'aide de LoadImage(), appelez la méthode ReadHandwriting() et accédez au texte extrait à partir du résultat OcrResult. IronOCR se charge automatiquement du traitement complexe de l'image et de l'apprentissage automatique.

Quels types de documents manuscrits peuvent être traités ?

IronOcr peut traiter divers documents manuscrits, notamment des dossiers historiques, des formulaires d'admission des patients, des enquêtes auprès des clients et des notes manuscrites. La bibliothèque est conçue pour gérer les incohérences de l'écriture humaine qui rendent le traitement manuel sujet aux erreurs.

Quelle est la technologie utilisée pour la reconnaissance de l'écriture manuscrite ?

La reconnaissance de l'écriture manuscrite d'IronOcr s'appuie sur le puissant moteur Tesseract 5, qui associe un traitement d'image avancé à des algorithmes d'apprentissage automatique pour offrir des capacités de reconnaissance de l'écriture manuscrite à la pointe de l'industrie.

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 5,556,263 | Version : 2026.3 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.