OUTILS OCR

Comment obtenir du texte à partir d'images à l'aide de Tesseract

Mise à jour janvier 28, 2024
Partager:

L'exploitation de bibliothèques telles qu'IronOCR et Tesseract accorde aux développeurs l'accès à des algorithmes avancés et à des techniques d'apprentissage automatique pour l'extraction d'informations textuelles à partir d'images et de documents numérisés. Ce tutoriel montrera aux lecteurs comment utiliser la bibliothèque Tesseract pour effectuer l'extraction de texte à partir d'images, puis conclura en présentant l'approche unique d'IronOCR.

1. OCR avec Tesseract

1.1. Installer Tesseract

Dans la console du gestionnaire de paquets NuGet, entrez la commande suivante.

Install-Package Tesseract

Ou téléchargez le paquetage via le gestionnaire de paquets NuGet.

Comment obtenir la reconnaissance de texte OCR, Figure 1 : Installer le paquetage Tesseract dans le gestionnaire de paquetage NuGet

Installer le paquet Tesseract dans le gestionnaire de paquets NuGet

Vous devez installer et enregistrer manuellement les fichiers de langue dans le dossier du projet après avoir installé le paquet NuGet. Cela peut être considéré comme une lacune de cette bibliothèque spécifique.

Visitez les sites suivants site web pour télécharger les fichiers linguistiques. Une fois téléchargés, décompressez les fichiers et ajoutez le dossier "tessdata" au dossier debug de votre projet.

1.2. Utilisation de Tesseract (démarrage rapide)

L'OCR sur une image donnée peut être réalisée à l'aide du code source ci-dessous :

using Tesseract;

var ocrEngine = new TesseractEngine(@"tessdata", "eng", EngineMode.Default);
var img = Pix.LoadFromFile("Demo.png");
var res = ocrEngine.Process(img);
Console.WriteLine(res.GetText());
Console.ReadKey();
using Tesseract;

var ocrEngine = new TesseractEngine(@"tessdata", "eng", EngineMode.Default);
var img = Pix.LoadFromFile("Demo.png");
var res = ocrEngine.Process(img);
Console.WriteLine(res.GetText());
Console.ReadKey();
Imports Tesseract

Private ocrEngine = New TesseractEngine("tessdata", "eng", EngineMode.Default)
Private img = Pix.LoadFromFile("Demo.png")
Private res = ocrEngine.Process(img)
Console.WriteLine(res.GetText())
Console.ReadKey()
VB   C#

Tout d'abord, un objet TerreractEngine doit être créé et les données linguistiques doivent être chargées dans le moteur. Ensuite, le fichier image souhaité est chargé à l'aide de Tesseract Pix. Cette image est ensuite transmise au TerreractEngine pour extraire le texte reconnu correct en utilisant la méthode GetText disponible dans le TesseractEngine. Voici le résultat du code.

Comment obtenir une reconnaissance de texte par OCR, Figure 2 : Texte extrait de l'image

Texte extrait de l'image

1.3 Considérations sur le Tesseract

  1. Tesseract prend en charge le formatage du texte de sortie, les données positionnelles de l'OCR et l'analyse de la mise en page à partir de la version 3.00.

  2. Tesseract est disponible sur Windows, Linux et Mac OS X. Cependant, le fonctionnement de Tesseract n'a été confirmé que sur Windows et Ubuntu en raison d'un support de développement limité.

  3. Tesseract peut faire la distinction entre un texte monospace et un texte à espacement proportionnel.

  4. En utilisant un front-end comme OCRopus, Tesseract est idéal pour une utilisation en back-end et peut être utilisé pour des travaux d'OCR plus difficiles, tels que l'analyse de la mise en page.

  5. Quelques-unes des lacunes de Tesseract :

    • Les dernières versions n'ont pas été conçues pour compiler sous Windows

    • Les wrappers de l'API C# de Tesseract ne sont pas maintenus fréquemment et ont des années de retard sur les nouvelles versions de Tesseract

    Pour en savoir plus sur Tesseract en C#, veuillez consulter le site suivant le tutoriel Tesseract.

2. L'OCR avec IronOCR

2.1. Installation de l'IronCR

Entrez la commande suivante dans la console du gestionnaire de paquets NuGet.

Install-Package IronOcr

Vous pouvez également installer la bibliothèque IronOCR via le gestionnaire de paquets NuGet, ainsi que des paquets supplémentaires pour d'autres langues, qui sont simples et pratiques à utiliser.

Comment obtenir la reconnaissance de texte OCR, Figure 3 : Installer IronOcr et les paquets de langues via le gestionnaire de paquets NuGet

Installer IronOCR et les paquets de langues via le gestionnaire de paquets NuGet

2.2. Utilisation de l'IronOCR

Vous trouverez ci-dessous un exemple de code permettant de reconnaître le texte d'une image donnée.

var ocr = new IronTesseract();
ocr.Language = OcrLanguage.EnglishBest;
ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var input = new OcrInput())      
{          
    input.LoadImage(@"Demo.png");
    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
    Console.ReadKey();
}
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.EnglishBest;
ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var input = new OcrInput())      
{          
    input.LoadImage(@"Demo.png");
    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
    Console.ReadKey();
}
Dim ocr = New IronTesseract()
ocr.Language = OcrLanguage.EnglishBest
ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5
Using input = New OcrInput()
	input.LoadImage("Demo.png")
	Dim result = ocr.Read(input)
	Console.WriteLine(result.Text)
	Console.ReadKey()
End Using
VB   C#

Le code ci-dessus instancie un Tesseracte de fer objet. En outre, un OcrInput est créé pour ajouter un ou plusieurs fichiers images, en indiquant le chemin d'accès au fichier local à l'aide de la touche LoadImage méthode. Vous êtes libre de télécharger autant de photos que vous le souhaitez. La fonctionnalité Lire dans l'objet Tesseracte de fer analysera le fichier image et extraira le résultat dans le résultat de l'OCR.

Comment obtenir une reconnaissance de texte par OCR, Figure 4 : Texte extrait à l'aide de la bibliothèque IronOCR

Sortie de texte extrait à l'aide de la bibliothèque IronOCR

2.3 Considérations relatives à l'IronOCR

  1. IronOCR est une extension de la bibliothèque Tesseract, qui apporte plus de stabilité et de précision.

  2. IronOCR peut lire le contenu textuel de PDFs et des photos IronOCR peut également lire plus de 20 types distincts de codes-barres et les codes QR.

  3. Les résultats peuvent être restitués sous forme de texte brut, de données structurées, de codes-barres ou de codes QR.

  4. La bibliothèque reconnaît 127 langues dans le monde.

  5. IronOCR for .NET fonctionne avec souplesse dans tous les environnements .NET (console, Web, bureau, etc)et prend également en charge les derniers cadres mobiles tels que Mono, Xamarin, L'azuret MAUI.

  6. L'IronOCR offre une essai gratuit et dispose d'une édition de développement moins onéreuse. Apprendre en savoir plus sur l'octroi de licences.

    Pour un tutoriel détaillé sur l'IronOCR, veuillez vous référer à ceci article pour lire le texte d'une image en C#.

< PRÉCÉDENT
OCR C# Open Source (Liste pour les développeurs)
SUIVANT >
Meilleure API OCR (Comparaison de la liste mise à jour)