Passer au contenu du pied de page
OUTILS OCR
Comment utiliser Tesseract OCR for .NET sur Windows

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.


É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 :

Tesseract Ocr Windows 1 related to Langue d'installation

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.

Tesseract Ocr Windows 2 related to Configuration OCR Tesseract

É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.

Tesseract Ocr Windows 3 related to Choisir l'emplacement d'installation

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.

Tesseract Ocr Windows 4 related to Choisir les composants

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.

Tesseract Ocr Windows 5 related to Choisir les composants

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 ".

Tesseract Ocr Windows 6 related to Choisissez le dossier du menu Démarrer

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 .

Tesseract Ocr Windows 7 related to Panneau de contrôle

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.

Tesseract Ocr Windows 8 related to Propriétés du système

Variables d'environnement

Dans la section " Variables système ", nous cliquerons sur le bouton Modifier .

Tesseract Ocr Windows 9 related to Variables d'environnement

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

Tesseract Ocr Windows 10 related to Ajouter le répertoire d'installation de Tesseract OCR pour Windows aux variable...

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.

Tesseract Ocr Windows 11 related to Étape 4 : Exécuter Tesseract OCR pour Windows sur une image de test

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

Download the IronOcr DLL directly to your 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"
$vbLabelText   $csharpLabel

É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")
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

Comment utiliser Tesseract OCR en C# pour .NET ?

  • Installez Google Tesseract et IronOCR pour .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 la reconnaissance optique de caractères (OCR) en .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
$vbLabelText   $csharpLabel

IronOCR Tesseract pour 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 pour .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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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 pour .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. It is true that IronOCR uses Tesseract for its internal OCR engine, a very finely-tuned Tesseract, built for C#, with a lot of performance improvements and features added as standard.

Kannaopat Udonpant
Ingénieur logiciel
Avant de devenir ingénieur logiciel, Kannapat a obtenu un doctorat en ressources environnementales à l'université d'Hokkaido au Japon. Pendant qu'il poursuivait son diplôme, Kannapat est également devenu membre du laboratoire de robotique de véhicules, qui fait partie du département de bioproduction. En 2022, il a utilisé ses compé...
Lire la suite