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.
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 suivantssite 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()
$vbLabelText $csharpLabel
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.
Texte extrait de l'image
1.3 Considérations sur le Tesseract
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.
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é.
Tesseract peut faire la distinction entre un texte monospace et un texte à espacement proportionnel.
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.
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 suivantle 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.
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
$vbLabelText $csharpLabel
Le code ci-dessus instancie unTesseracte de fer objet. En outre, unOcrInput est créé pour ajouter un ou plusieurs fichiers images, en indiquant le chemin d'accès au fichier local à l'aide de la toucheLoadImage méthode. Vous êtes libre de télécharger autant de photos que vous le souhaitez. La fonctionnalitéLire dans l'objetTesseracte de fer analysera le fichier image et extraira le résultat dans le résultat de l'OCR.
Sortie de texte extrait à l'aide de la bibliothèque IronOCR
2.3 Considérations relatives à l'IronOCR
IronOCR est une extension de la bibliothèque Tesseract, qui apporte plus de stabilité et de précision.
IronOCR peut lire le contenu textuel dePDFs et des photos IronOCR peut également lire plus de 20 types distincts decodes-barres et les codes QR.
Les résultats peuvent être restitués sous forme de texte brut, de données structurées, de codes-barres ou de codes QR.
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'azuretMAUI.
Jordi maîtrise parfaitement Python, C# et C++. Lorsqu'il ne met pas à profit ses compétences chez Iron Software, il se consacre à la programmation de jeux. Partageant des responsabilités en matière de tests de produits, de développement de produits et de recherche, Jordi apporte une valeur ajoutée considérable à l'amélioration continue des produits. Cette expérience variée le stimule et l'engage, et il dit que c'est l'un des aspects qu'il préfère dans son travail chez Iron Software. Jordi a grandi à Miami, en Floride, et a étudié l'informatique et les statistiques à l'université de Floride.
< PRÉCÉDENT OCR C# Open Source (Liste pour les développeurs)
SUIVANT > Meilleure API OCR (Comparaison de la liste mise à jour)
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucune obligation de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre gratuit Démonstration en direct
Fiable par plus de 2 millions d'ingénieurs dans le monde entier