Tesseract Ocr dans Windows (Exemple de tutoriel en code)
Qu'est-ce que Tesseract OCR ?
Tesseract est un moteur de reconnaissance optique de caractères qui peut être utilisé sur divers systèmes d'exploitation. Il s'agit d'un logiciel libre, distribué sous la licence Apache. Dans ce guide, je vous présenterai les étapes que j'ai suivies pour installer Tesseract sur mon ordinateur Windows 10. La version majeure 5 est la version stable actuelle et a été lancée avec la version 5.0.0 le 30 novembre 2021.
Comment utiliser Tesseract OCR sous Windows
- Installer Tesseract OCR sur un système Windows 10 à l'aide d'un fichier .exe
- Configurer l'installation de Tesseract
- Ajouter le chemin d'installation aux variables d'environnement
- Exécutez Tesseract OCR pour Windows sur une image de test.
- Utilisez la bibliothèque C# pour des API plus intuitives et des méthodes avancées sous Windows.
Étape 1 : Installez Tesseract OCR sous Windows 10 à l'aide du fichier .exe :
Pour installer les données de langue : sudo port install tesseract -<langcode>
Vous trouverez une liste des codes de langue sur la page Homebrew de MacPorts Tesseract. La première étape pour installer Tesseract OCR sous Windows consiste à télécharger le fichier d'installation .exe correspondant au système d'exploitation de votre ordinateur.
Étape 2 : Configurer l'installation
Ensuite, nous devrons configurer l'installation de Tesseract. Si vous vous sentez à l'aise et que vous souhaitez uniquement exécuter Tesseract OCR pour Windows avec l'anglais comme langue par défaut, le fait de parcourir les écrans d'installation avec toutes les options par défaut sélectionnées devrait fonctionner.
Langue d'installation
Il s'agit uniquement du langage utilisé pour les boîtes de dialogue et les informations d'aide. Si nous le souhaitons, nous pouvons exécuter Tesseract OCR pour Windows dans plusieurs langues :
Langue du programme d'installation de Tesseract OCR pour Windows
Configuration OCR Tesseract
L'écran d'installation recommande de fermer toutes les autres applications avant de poursuivre l'installation.
Écran d'installation de Tesseract OCR pour Windows.
Choisir l'emplacement d'installation
Ensuite, nous choisirons l'emplacement de l'installation. Avant de passer à l'étape suivante, veillez à copier le répertoire d'installation dans un fichier .txt. Nous devrons ajouter ce répertoire aux variables d'environnement de votre machine une fois l'installation terminée.
Choisissez l'emplacement d'installation.
Choisir les composants
Par défaut, les options ScrollView, Outils de formation, Création de raccourcis et Données linguistiques sont toutes sélectionnées. Sauf raison particulière de votre part de ne pas les installer, nous souhaiterons les laisser tous sélectionnés.
Composants d'installation par défaut de Tesseract OCR pour Windows.
Si nous faisons défiler vers le bas et développons la section " Données de script supplémentaires ", nous verrons que nous avons la possibilité de télécharger et d'installer des données de script supplémentaires. Cela peut s'avérer utile pour améliorer la précision de l'extraction de texte à partir de certaines langues écrites. C'est à vous de décider si vous voulez les installer.
Composants d'installation de script optionnels.
Choisissez le dossier du menu Démarrer
Lors de la dernière étape de l'installation, il nous sera demandé de choisir le dossier du menu Démarrer pour les raccourcis de Tesseract OCR pour Windows. J'ai laissé le mien configuré avec le nom par défaut : " Tesseract-OCR ".
Choisissez le dossier du menu Démarrer pour les raccourcis Tesseract OCR pour Windows.
Après avoir cliqué sur Installer, Tesseract OCR pour Windows commencera son installation. L'étape suivante consiste à ajouter le chemin d'installation aux variables d'environnement de notre machine.
Étape 3 : Ajouter le chemin d'installation aux variables d'environnement
Panneau de contrôle
Pour ajouter l'emplacement d'installation à nos variables d'environnement, allez dans le menu Démarrer et recherchez " variables d'environnement ". Vous devriez voir un résultat vous permettant de modifier les variables d'environnement système. Sinon, vous pouvez toujours utiliser les étapes suivantes : Menu Démarrer > Panneau de configuration > Modifier les variables d'environnement système .
Recherche de " variables d'environnement "
Propriétés du système
Lorsque la boîte de dialogue " Propriétés système " s'affiche, assurez-vous de sélectionner l'onglet Avancé, puis cliquez sur le bouton Variables d'environnement situé en bas à droite de l'écran.
Variables d'environnement
Dans la section " Variables système ", nous cliquerons sur le bouton Modifier .
Lorsque l'écran " Modifier la variable d'environnement " s'affiche, cliquez sur le bouton Nouveau et collez le chemin d'installation de Tesseract OCR que nous avons copié précédemment à l'étape 2. Une fois cette opération effectuée, cliquez sur le bouton " OK ".
Ajouter le répertoire d'installation de Tesseract OCR pour Windows aux variables d'environnement
C'est ça! Maintenant que nous avons exécuté le programme d'installation .exe et ajouté l'emplacement d'installation de Tesseract OCR pour Windows à nos variables d'environnement, nous pouvons vérifier que notre installation fonctionne en exécutant Tesseract sur une image de test.
Étape 4 : Exécuter Tesseract OCR pour Windows sur une image de test
Pour vérifier que Tesseract OCR pour Windows a été installé correctement, ouvrez l'invite de commandes sur votre machine, puis exécutez la commande Tesseract . Vous devriez voir un résultat accompagné d'une brève explication des options d'utilisation de Tesseract.
Vérification de l'installation réussie de Tesseract OCR pour Windows
Félicitations ! Vous avez installé avec succès Tesseract OCR pour Windows sur votre ordinateur.
Avantages de l'utilisation d'IronOCR pour effectuer des travaux d'OCR :
IronOCR provides Tesseract OCR on Mac, Windows, Linux, Azure and Docker for:
- .NET Framework 4.0 +
- .NET Standard 2.0 +
- .NET Core 2.0 +
- .NET 5
- Mono pour macOS et Linux
- Xamarin pour macOS
IronOCR lit le texte, les codes-barres et les codes QR de tous les principaux formats d'image et PDF grâce au moteur Tesseract 5. Cette bibliothèque ajoute des fonctionnalités OCR aux applications de bureau, console et Web en quelques minutes. Il prend en charge plus de 125 langues internationales. Licenses start from $799.
Étape 1 : Installez la dernière version d'IronOCR
Installer la DLL
Téléchargez directement la DLL IronOcr sur votre machine.
Installer NuGet
Vous pouvez également l'installer via NuGet avec la commande suivante :
Install-Package IronOcr
Étape 2 : Appliquez votre clé de licence
Définissez votre clé de licence IronOCR à l'aide du code
Ajoutez ce code au démarrage de votre application avant d'utiliser IronOCR.
IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";
IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";
IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01"
Étape 3 : Testez votre clé
Vérifiez si votre clé a été installée correctement.
bool isValidLicense = IronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF01");
bool isValidLicense = IronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF01");
Dim isValidLicense As Boolean = IronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF01")
Commencez le projet
// PM > Install-Package IronOcr
// using IronOcr;
var Ocr = new IronTesseract();
// Set the recognition language to English
Ocr.Language = OcrLanguage.English;
using (var Input = new OcrInput())
{
// Add an example image to the OCR input
Input.Add(@"img\example.tiff");
// Optional: Clean the image before processing
// Input.DeNoise();
// Input.Deskew();
// Read the text from the image
IronOcr.OcrResult result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
// Explore the OcrResult using IntelliSense
}
// PM > Install-Package IronOcr
// using IronOcr;
var Ocr = new IronTesseract();
// Set the recognition language to English
Ocr.Language = OcrLanguage.English;
using (var Input = new OcrInput())
{
// Add an example image to the OCR input
Input.Add(@"img\example.tiff");
// Optional: Clean the image before processing
// Input.DeNoise();
// Input.Deskew();
// Read the text from the image
IronOcr.OcrResult result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
// Explore the OcrResult using IntelliSense
}
' PM > Install-Package IronOcr
' using IronOcr;
Dim Ocr = New IronTesseract()
' Set the recognition language to English
Ocr.Language = OcrLanguage.English
Using Input = New OcrInput()
' Add an example image to the OCR input
Input.Add("img\example.tiff")
' Optional: Clean the image before processing
' Input.DeNoise();
' Input.Deskew();
' Read the text from the image
Dim result As IronOcr.OcrResult = Ocr.Read(Input)
' Output the recognized text
Console.WriteLine(result.Text)
' Explore the OcrResult using IntelliSense
End Using
Comment utiliser Tesseract OCR en C# for .NET ?
- Installez Google Tesseract et IronOCR for .NET dans Visual Studio
- Consultez les dernières versions en C#
- Vérifier la précision et la compatibilité des images
- Tester les performances et les fonctionnalités de l'API
- Envisagez une prise en charge multilingue
Exemple de code pour l'utilisation de l'OCR .NET — Extraction de texte à partir d'images en C
Utilisez le gestionnaire de packages NuGet pour installer le package NuGet IronOCR dans votre solution Visual Studio.
// PM > Install-Package IronOcr
// using IronOcr;
var Ocr = new IronTesseract();
// Set the recognition language to English
Ocr.Language = OcrLanguage.English;
using (var Input = new OcrInput())
{
// Add an example image to the OCR input
Input.Add(@"img\example.tiff");
// Optional: Clean the image before processing
// Input.DeNoise();
// Input.Deskew();
// Read the text from the image
IronOcr.OcrResult result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
// Explore the OcrResult using IntelliSense
}
// PM > Install-Package IronOcr
// using IronOcr;
var Ocr = new IronTesseract();
// Set the recognition language to English
Ocr.Language = OcrLanguage.English;
using (var Input = new OcrInput())
{
// Add an example image to the OCR input
Input.Add(@"img\example.tiff");
// Optional: Clean the image before processing
// Input.DeNoise();
// Input.Deskew();
// Read the text from the image
IronOcr.OcrResult result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
// Explore the OcrResult using IntelliSense
}
' PM > Install-Package IronOcr
' using IronOcr;
Dim Ocr = New IronTesseract()
' Set the recognition language to English
Ocr.Language = OcrLanguage.English
Using Input = New OcrInput()
' Add an example image to the OCR input
Input.Add("img\example.tiff")
' Optional: Clean the image before processing
' Input.DeNoise();
' Input.Deskew();
' Read the text from the image
Dim result As IronOcr.OcrResult = Ocr.Read(Input)
' Output the recognized text
Console.WriteLine(result.Text)
' Explore the OcrResult using IntelliSense
End Using
IronOCR Tesseract for C
Avec IronOCR, l'installation de Tesseract se fait entièrement via le gestionnaire de packages NuGet.
Install-Package IronOcr
API Tesseract 5 dans IronOCR Tesseract
À ce jour, IronTesseract est la seule implémentation connue de Tesseract 5 for .NET Framework ou Core.
// using IronOcr;
var Ocr = new IronTesseract(); // nothing to configure
using (var Input = new OcrInput(@"images\image.png"))
{
var result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
}
// using IronOcr;
var Ocr = new IronTesseract(); // nothing to configure
using (var Input = new OcrInput(@"images\image.png"))
{
var result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
}
' using IronOcr;
Dim Ocr = New IronTesseract() ' nothing to configure
Using Input = New OcrInput("images\image.png")
Dim result = Ocr.Read(Input)
' Output the recognized text
Console.WriteLine(result.Text)
End Using
API Tesseract 4 dans IronOCR Tesseract
// using IronOcr;
var Ocr = new IronTesseract();
// Specify the version of Tesseract
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4;
using (var Input = new OcrInput(@"images\image.png"))
{
var result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
}
// using IronOcr;
var Ocr = new IronTesseract();
// Specify the version of Tesseract
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4;
using (var Input = new OcrInput(@"images\image.png"))
{
var result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
}
' using IronOcr;
Dim Ocr = New IronTesseract()
' Specify the version of Tesseract
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4
Using Input = New OcrInput("images\image.png")
Dim result = Ocr.Read(Input)
' Output the recognized text
Console.WriteLine(result.Text)
End Using
Pourquoi IronOCR est meilleur que Tesseract :
PRÉCISION
TESSERACT :
Si Tesseract rencontre une image pivotée, déformée, de faible résolution (DPI), scannée ou présentant du bruit de fond, il devient presque impossible pour Tesseract d'en extraire des données. De plus, Tesseract mettra également beaucoup de temps à traiter ce document avant de vous fournir des informations incohérentes.
IRONOCR :
IronOCR résout ce problème. Les utilisateurs atteignent souvent une précision de 99,8 à 100 % avec une configuration minimale.
COMPATIBILITÉ DES IMAGES
TESSERACT :
Accepte uniquement le format d'image Leptonica PIX, qui est un objet IntPtr C++ en C#. Les objets PIX ne sont pas de la mémoire gérée — et ne pas les gérer correctement en C# entraîne des fuites de mémoire.
IRONOCR :
Les images sont gérées en mémoire. Formats PDF et TIFF pris en charge. Les classes System.Drawing, Stream et Byte Array sont incluses pour chaque format de fichier.
Prise en charge étendue des images :
- Documents PDF
- Pages PDF
- Fichiers TIFF multi-images
- JPEG et JPEG2000
- GIF
- PNG
- System.Drawing.Image
- Données d'image binaire (octets [])
- Et bien d'autres encore...
PERFORMANCE
TESSERACT :
Google Tesseract peut fournir des résultats rapides et précis s'il est correctement paramétré et si les images d'entrée ont été prétraitées à l'aide de Photoshop ou d'ImageMagick.
IRONOCR :
La DLL IronOcr .NET Tesseract fonctionne avec précision et rapidité pour la plupart des images, sans configuration supplémentaire. Nous avons implémenté le multithreading pour tirer parti des processeurs multicœurs que la plupart des machines utilisent désormais. Même les images basse résolution fonctionnent généralement avec un degré de précision élevé dans votre programme. Photoshop n'est pas nécessaire.
API
TESSERACT :
Nous avons deux choix gratuits :
- Travailler avec des couches d'interopérabilité — beaucoup de celles disponibles sur GitHub sont obsolètes, présentent des tickets non résolus, des fuites de mémoire et des avertissements dans la console. Peut ne pas prendre en charge .NET Core ou Standard.
- Travailler avec le fichier EXE en ligne de commande — difficile à déployer et constamment interrompu par les antivirus et les politiques de sécurité.
IRONOCR :
IronTesseract est une bibliothèque .NET gérée et testée pour Tesseract.
Documentation complète avec prise en charge d'IntelliSense.
LANGUE
TESSERACT :
Ne prend en charge que 100 langues.
IRONOCR :
Prend en charge plus de 125 langues.
Conclusion
Tesseract est une excellente ressource pour les développeurs C++, mais ce n'est pas une bibliothèque OCR complète for .NET. Les images numérisées ou photographiées doivent être traitées de manière à être orthogonales, normalisées, à haute résolution et exemptes de bruit numérique avant que Tesseract puisse les traiter avec précision.
À l'inverse, IronOCR peut faire cela et bien plus encore, avec une seule ligne de code. Il est vrai qu'IronOCR utilise Tesseract pour son moteur OCR interne, un Tesseract très finement ajusté, conçu pour C#, avec de nombreuses améliorations de performances et des fonctionnalités ajoutées en standard.




