COMPARAISON AVEC D'AUTRES COMPOSANTS

Comparaison entre Google OCR et IronOCR

Publié mai 16, 2023
Partager:

OCR est l'abréviation de Optical Character Recognition (reconnaissance optique de caractères). Il permet de convertir un fichier image en texte codé machine. Les documents numérisés sont toujours enregistrés sous forme de fichier image par l'ordinateur. Les données contenues dans ces fichiers images ne peuvent pas être recherchées, modifiées ou enregistrées au format texte à l'aide d'un éditeur de texte normal ou même d'une application de traitement de texte. Le traitement OCR permet de convertir ces images en texte lisible par la machine pour un traitement ultérieur par les utilisateurs.

À l'ère moderne, les documents numérisés partagés sur int.NET sont au format numérique et le plus souvent sous forme de PDF ou d'images. Il existe un grand nombre de ressources en ligne qui convertissent l'image en texte. Cependant, la plupart des entreprises ont besoin de cette fonctionnalité dans leurs applications logicielles. C'est pourquoi il existe de nombreuses bibliothèques qui fournissent une technologie de traitement OCR à intégrer dans les applications logicielles.

Dans cet article, nous allons aborder deux des bibliothèques OCR les plus populaires pour C#. Il s'agit de

  • IronOCR
  • Google Cloud Vision OCR(Vision API)

Introduction

IronOCR - Bibliothèque C

IronOCR for .NET est une bibliothèque C# permettant de numériser, de rechercher et de lire des images et des PDF. Il prend une image ou un fichier PDF en entrée et utilise le dernier moteur d'OCR Tesseract 5 custom build .NET pour produire du texte, des données structurées ou des documents PDF consultables. Son Tesseract est disponible dans plus de 125 langues ainsi qu'un support multiplateforme dans .NET Core, Standard, de la 2.0 jusqu'à la 7.

IronOCR est une API conviviale qui permet aux développeurs C# de convertir automatiquement des images en texte, en utilisant simplement la classe IronTesseract et la clé API. Il privilégie la rapidité, la précision et la facilité d'utilisation. Il aide également l'API de vision par ordinateur à trouver le texte à l'aide d'un ensemble de modèles formés.

Une autre caractéristique puissante d'IronOCR est qu'il peut scanner les codes-barres et les codes QR de tous les fichiers images et lire leur texte. D'autres caractéristiques importantes de l'IronOCR sont présentées ci-dessous.

Caractéristiques

  • Langues internationales: 125+ langues et langues personnalisées avec une performance de qualité élevée et rapide
  • Lecture de textes et de codes-barres: Lire des textes et des chiffres dans plusieurs langues à la fois
  • Documents spécialisés: Lire spécifiquement le texte des reçus, des chèques et des factures
  • Lire à partir de nombreux formats: Images(PNG, JPG, GIF, TIFF, BMP), System.Drawing Objects, Streams, documents PDF(dPI cible optimisé)
  • Filtres: Assistant de filtre, Correction d'image, Correction de l'orientation de l'image, Correction des couleurs de l'image
  • Simple Data Output: .NET Text Strings, Barcode and QR Data, Images

    Jetons maintenant un coup d'œil à l'API Google Cloud Vision.

Google Cloud Vision OCR

Google Cloud Vision API est une bibliothèque client Google Cloud OCR qui prend en charge le langage C#. Il permet aux développeurs C# d'intégrer facilement les fonctions de détection de la vision par ordinateur dans les applications logicielles. Il effectue l'OCR et détecte le texte à partir de fichiers images, d'étiquettes d'images, de détection de visages et de points de repère.

L'API Google Cloud Vision utilise les API REST et RPC pour fournir un puissant système de ML pré-entraîné(apprentissage automatique) modèle. Grâce à l'API de vision d'importation du nuage, vous pouvez rapidement classer les images dans des millions de catégories prédéfinies. Il peut également détecter des objets, lire du texte dans des documents imprimés et du texte manuscrit.

Caractéristiques

  • Détection d'images et de textes : OCR d'une image pour la reconnaissance de texte, conversion en code de langage machine
  • Détection de texte dans les documents : ROC d'un fichier(PDF/TIFF)texte dense
  • Détection de repères : Renvoie les coordonnées de l'objet détecté
  • Détection de logo : Renvoie une description textuelle
  • Détection d'étiquettes : Renvoie des étiquettes généralisées pour l'image

    Le reste de l'article se lit comme suit :

  1. Création d'un projet Visual Studio

  2. Installation de l'IronOCR

  3. Installation de Google OCR

  4. De l'image au texte

  5. Code-barres et QR vers texte

  6. PDF vers texte

  7. Licences

  8. Conclusion

1. Création d'un projet Visual Studio

Dans ce tutoriel, nous allons utiliser la dernière version de Visual Studio 2022. Je suppose donc que vous l'avez déjà téléchargé et installé pour C#. Si ce n'est pas le cas, vous pouvez le télécharger à partir deSite web de Visual Studio.

Nous devons maintenant créer un projet Console pour commencer à utiliser les deux bibliothèques. Suivez les étapes pour créer un projet :

  • Ouvrez votre Visual Studio 2022.
  • Cliquez sur Créer un nouveau projet.

    Comment imprimer un code-barres dans l'application Windows C# Figure 1 - Créer un nouveau projet

  • Sélectionnez l'application console C# parmi les options proposées.

    Comment imprimer un code-barres dans l'application Windows C# Figure 2 - Application console

  • Configurez votre nouveau projet en lui donnant un nom et un emplacement. Par exemple "OCRProject".
  • Cliquez sur Suivant.

    Comment imprimer un code-barres dans l'application Windows C# Figure 3 - Configuration du projet

  • À partir d'informations complémentaires, sélectionnez le Framework .NET 6.0, car il s'agit de la version la plus stable.

    Comment imprimer un code-barres dans l'application Windows C# Figure 4 - Informations complémentaires

  • Cliquez sur Créer et le projet sera créé à l'emplacement spécifié.

    Ensuite, nous allons installer les bibliothèques dans notre projet à des fins de comparaison.

2. Installation de l'IronOCR

Il existe plusieurs façons d'installer la bibliothèque IronOCR. Examinons-les un par un.

2.1. Utilisation du gestionnaire de paquets NuGet de Visual Studio

NuGet est le gestionnaire de paquets qui permet de télécharger et d'installer les dépendances dans votre projet. Ses paquets contiennent le code compilé(DLL) et le fichier manifeste. Accédez-y en utilisant la méthode suivante :

  • Cliquez sur l'onglet Outils
  • Extension de l'option NuGet Package Manager
  • Cliquez sur Gérer les paquets NuGet pour la solution

    Comment imprimer un code-barres dans une application Windows C# Figure 5 - NuGet Package Manager

  • ou cliquer avec le bouton droit de la souris sur l'explorateur de solutions
  • Cliquez sur Gérer les paquets NuGet

    Comment imprimer un code-barres dans l'application Windows C# Figure 6 - Explorateur de solutions

    La fenêtre du gestionnaire de paquets NuGet s'ouvre alors. Recherchez IronOCR et cliquez sur Installer.

    Comment imprimer un code-barres dans l'application Windows C# Figure 7 - IronOCR

2.2. Télécharger à partir du site Web de NuGet

Il peut être téléchargé directement depuis le site officiel de NuGet. Suivez les étapes indiquées :

  1. Cliquez sur le lien : "".

  2. Cliquez sur l'option Télécharger le paquet sur le côté droit de la page.

  3. Ouvrez le paquet téléchargé et l'installation commencera.

  4. Enfin, rechargez la solution et le tour est joué.

2.3. Téléchargement à l'aide de la page Web de l'IronOCR

Il suffit de se rendre sur le site Web d'Iron Software et de naviguer jusqu'à la page Web IronOCR for .NET. Descendez jusqu'en bas et cliquez sur Download DLL ou Download Windows Installer.

Comment imprimer un code-barres dans l'application Windows C# Figure 8 - Iron Software Website

Un fichier Zip sera téléchargé. Extrayez-le et ajoutez-le dans votre fichier de projet ou exécutez le programme d'installation Windows. Suivez les étapes ci-dessous pour l'ajouter à votre projet.

  1. Cliquez avec le bouton droit de la souris sur les dépendances du projet dans Visual Studio à partir de l'explorateur de solutions.

  2. Sélectionnez ensuite l'option Ajouter une référence de projet.

  3. Parcourez l'emplacement du fichier DLL téléchargé.

  4. Enfin, cliquez sur OK pour ajouter la référence du projet.

2.4. Utilisation de l'invite de commande dans Visual Studio

  1. Accédez à l'onglet Outils dans Visual Studio.

  2. Extension de l'option NuGet Package Manager.

  3. Sélectionnez Package Manager Console et tapez la commande suivante :
    Install-Package IronOCR

Ceci téléchargera et installera automatiquement IronOCR dans votre projet.

Nous sommes maintenant prêts à utiliser IronOCR dans notre projet.

2.5. Ajout des espaces de noms IronOCR nécessaires

Un seul espace de noms est nécessaire et doit être ajouté en haut du fichier de code source où nous devons accéder à ses fonctions.


    using IronOCR;

    using IronOCR;
Imports IronOCR
VB   C#

Installons maintenant Google Vision OCR.

3. Installation de Google OCR

Pour pouvoir utiliser l'API Vision dans votre projet C#, les conditions suivantes doivent être remplies

  1. Créer un compte Google

  2. Créer un nouveau projet à partir de Google Cloud Console

  3. Activer la facturation

  4. Activer l'API Vision

  5. Créer un compte de service et définir les informations d'identification

  6. Télécharger les informations d'identification du compte de service au format JSON

    Vous pouvez consulter la documentation officielle pour en savoir plus sur la configuration et les conditions d'utilisation de Google Cloud Visionici.

    Pour installer la bibliothèque client de Google Cloud pour le traitement OCR dans Visual Studio, nous devons utiliser le gestionnaire de paquets NuGet.

3.1. Utilisation du gestionnaire de paquets NuGet

Vous pouvez y accéder en utilisant la méthode suivante :

  • Cliquez sur l'onglet Outils
  • Extension de l'option NuGet Package Manager
  • Cliquez sur Gérer les paquets NuGet pour les solutions

    Comment imprimer un code-barres dans l'application Windows C# Figure 9 - Onglet Outils

  • ou cliquer avec le bouton droit de la souris sur l'explorateur de solutions
  • Cliquez sur Gérer les paquets NuGet

    Comment imprimer un code-barres dans une application Windows C# Figure 10 - Gérer les paquets NuGet

    La fenêtre du gestionnaire de paquets NuGet s'ouvre alors. Recherchez Google Cloud Vision OCR et cliquez sur Installer.

    Comment imprimer un code-barres dans l'application Windows C# Figure 11 - Google Cloud Vision OCR

3.2. Ajout de l'espace de noms de l'API Google Vision

Incluez l'espace de noms suivant pour utiliser l'API Vision de Google OCR :


    using Google.Cloud.Vision.V1;

    using Google.Cloud.Vision.V1;
Imports Google.Cloud.Vision.V1
VB   C#

Définissez également la variable d'environnement avec les informations d'identification téléchargées dans le fichier JSON.


    Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "key.json");

    Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "key.json");
Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "key.json")
VB   C#

Maintenant, tout est installé et prêt à l'emploi.

4. Images vers texte

La lecture de données à partir d'images est une tâche assez fastidieuse. La résolution et la qualité des images jouent un rôle important lors de l'extraction du contenu. Les deux bibliothèques proposent la reconnaissance optique de caractères(OCR) pour extraire le texte des images.

4.1. Utilisation de l'IronOCR

IronOCR permet aux développeurs de lire très facilement le contenu d'un fichier image grâce à sa puissante classe IronTesseract. Nous utiliserons ici une image PNG pourlire le texte d'un fichier image et le code est le suivant :


    var OCR = new IronTesseract();
    using (var Input = new OcrInput()){
        Input.AddImage("test-files/employmentapp.png");
        var Result = OCR.Read(Input);
        Console.WriteLine(Result.Text);
    }

    var OCR = new IronTesseract();
    using (var Input = new OcrInput()){
        Input.AddImage("test-files/employmentapp.png");
        var Result = OCR.Read(Input);
        Console.WriteLine(Result.Text);
    }
Dim OCR = New IronTesseract()
	Using Input = New OcrInput()
		Input.AddImage("test-files/employmentapp.png")
		Dim Result = OCR.Read(Input)
		Console.WriteLine(Result.Text)
	End Using
VB   C#

IMAGE D'ENTRÉE

Comment imprimer un code-barres dans l'application Windows C# Figure 12 - Entrée avec boîtes de délimitation

SORTIE

Comment imprimer un code-barres dans l'application Windows C# Figure 13 - Sortie d'une image avec des mots individuels

La sortie d'IronOCR correspond à l'image originale qui lui a été donnée. Le code est propre et facile à comprendre sans aucune technicité.

4.2. Utilisation de Google OCR

Google Cloud Vision OCR convertit également l'image en texte avec différentes polices. Tout d'abord, nous devons créer un client à l'aide du fichier d'informations d'identification. Ensuite, en utilisant cet objet client, nous pouvons appeler la méthode DetectText pour obtenir une réponse sous forme d'annotation. Le code est donné comme suit :


    Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "key.json");
    var client = ImageAnnotatorClient.Create();
    var image = Image.FromFile("test-files/employmentapp.png");
    var response = client.DetectText(image);
    foreach (var annotation in response)
    {
        if (annotation.Description != null)
        {
            Console.WriteLine(annotation.Description);
        }
    }

    Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "key.json");
    var client = ImageAnnotatorClient.Create();
    var image = Image.FromFile("test-files/employmentapp.png");
    var response = client.DetectText(image);
    foreach (var annotation in response)
    {
        if (annotation.Description != null)
        {
            Console.WriteLine(annotation.Description);
        }
    }
Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "key.json")
	Dim client = ImageAnnotatorClient.Create()
	Dim image As System.Drawing.Image = System.Drawing.Image.FromFile("test-files/employmentapp.png")
	Dim response = client.DetectText(image)
	For Each annotation In response
		If annotation.Description IsNot Nothing Then
			Console.WriteLine(annotation.Description)
		End If
	Next annotation
VB   C#

La même image est donnée en entrée afin de comparer les résultats des deux bibliothèques.

Comment imprimer un code-barres dans l'application Windows C# Figure 14 - Sortie

La sortie ci-dessus montre clairement qu'IronOCR préserve les formats de sortie de l'image. Bien que l'OCR de Google ait produit un texte de sortie précis, le formatage du tableau n'est pas préservé. IronOCR a conservé le formatage du tableau exactement comme dans l'image donnée.

5. Code-barres et code QR en texte

5.1. Utilisation de l'IronOCR

IronOCR offre une fonction unique et utile lors de la lecture d'images, c'est-à-dire qu'il peut lire les codes-barres et les codes QR. Il peut détecter les codes-barres et afficher leur valeur en toute simplicité. Tout d'abord, définissez la configuration ReadBarCodes à true (vrai), puis parcourez chaque code-barres dans les résultats de l'OCR. Le code de lecture des codes-barres est donné ci-dessous :


    var OCR = new IronTesseract();
    OCR.Configuration.ReadBarCodes = true;
    using (var input = new OcrInput()){   
        input.AddImage("test-files/Barcode.png");   
        var Result = OCR.Read(input);   
        foreach (var Barcode in Result.Barcodes){
                Console.WriteLine(Barcode.Value);
        }
    }

    var OCR = new IronTesseract();
    OCR.Configuration.ReadBarCodes = true;
    using (var input = new OcrInput()){   
        input.AddImage("test-files/Barcode.png");   
        var Result = OCR.Read(input);   
        foreach (var Barcode in Result.Barcodes){
                Console.WriteLine(Barcode.Value);
        }
    }
Dim OCR = New IronTesseract()
	OCR.Configuration.ReadBarCodes = True
	Using input = New OcrInput()
		input.AddImage("test-files/Barcode.png")
		Dim Result = OCR.Read(input)
		For Each Barcode In Result.Barcodes
				Console.WriteLine(Barcode.Value)
		Next Barcode
	End Using
VB   C#

IMAGE D'ENTRÉE

Comment imprimer un code-barres dans l'application Windows C# Figure 15 - Entrée

SORTIE

Comment imprimer un code-barres dans l'application Windows C# Figure 16 - Sortie d'image

Les trois codes-barres de l'entrée sont lus avec succès et leur texte caché est affiché.

5.2. Utilisation de Google OCR

L'API Google Vision ne permet pas encore cette fonctionnalité. La lecture des codes-barres peut s'avérer utile dans les applications logicielles. Cependant, Google OCR vous permet d'extraire du texte manuscrit et de récupérer le texte d'un document numérisé sous forme de fichier image. Le code pour la détection des étiquettes est le suivant :


    var client = ImageAnnotatorClient.Create();
    var image = Image.FromUri("gs://cloud-samples-data/vision/using_curl/shanghai.jpeg");
    var labels = client.DetectLabels(image);

    Console.WriteLine("Labels (and confidence score):");
    Console.WriteLine(new String('=', 30));

    foreach (var label in labels)
    {
        Console.WriteLine($"{label.Description} ({(int)(label.Score * 100)}%)");
    }

    var client = ImageAnnotatorClient.Create();
    var image = Image.FromUri("gs://cloud-samples-data/vision/using_curl/shanghai.jpeg");
    var labels = client.DetectLabels(image);

    Console.WriteLine("Labels (and confidence score):");
    Console.WriteLine(new String('=', 30));

    foreach (var label in labels)
    {
        Console.WriteLine($"{label.Description} ({(int)(label.Score * 100)}%)");
    }
Imports System

Dim client = ImageAnnotatorClient.Create()
	Dim image = System.Drawing.Image.FromUri("gs://cloud-samples-data/vision/using_curl/shanghai.jpeg")
	Dim labels = client.DetectLabels(image)

	Console.WriteLine("Labels (and confidence score):")
	Console.WriteLine(New String("="c, 30))

	For Each label In labels
		Console.WriteLine($"{label.Description} ({CInt(Math.Truncate(label.Score * 100))}%)")
	Next label
VB   C#

SORTIE

Comment imprimer un code-barres dans l'application Windows C# Figure 17 - Sortie de détection d'étiquette

6. PDF vers texte

6.1. Utilisation de l'IronOCR

La lecture des fichiers PDF est aussi facile que celle des fichiers image dans IronOCR. Il suffit de remplacer la méthode AddImage par AddPdf dans le code de lecture des images. Le code est le suivant :


    var OCR = new IronTesseract();
    using (var Input = new OcrInput()){
        Input.AddPdf("test-files/example.PDF");
        var Result = OCR.Read(Input);
        Console.WriteLine(Result.Text);
    }

    var OCR = new IronTesseract();
    using (var Input = new OcrInput()){
        Input.AddPdf("test-files/example.PDF");
        var Result = OCR.Read(Input);
        Console.WriteLine(Result.Text);
    }
Dim OCR = New IronTesseract()
	Using Input = New OcrInput()
		Input.AddPdf("test-files/example.PDF")
		Dim Result = OCR.Read(Input)
		Console.WriteLine(Result.Text)
	End Using
VB   C#

SORTIE

Le texte extrait est formaté de la même manière que le fichier PDF.

Comment imprimer un code-barres dans l'application Windows C# Figure 18 - Sortie PDF vers texte

6.2. Utilisation de Google OCR

Google OCR permet également d'extraire du texte d'un document PDF/TIFF. Cependant, il ne détecte le texte que si le fichier se trouve dans Google Cloud Storage. Pour ce faire, vous devez créer un panier de stockage Google. Le code pour C# n'est pas simple et assez long à mettre en œuvre ici. Il n'y a pas d'exemples disponibles pour la détection de textes dans des fichiers en C#. Vous pouvez consulterCode Java comme référence pour l'essayer.

7. Licences

IronOCR est gratuit à des fins de développement, mais il doit faire l'objet d'une licence pour une utilisation commerciale. Il propose également une version d'essai gratuite pour tester tout son potentiel en fonction de vos besoins. Le paquet Lite démarre à partir de $749 avec un fichieressai gratuit. IronOCR offre un an d'assistance et de mises à jour gratuites, puis 399 $ par an. Toutes les licences sont perpétuelles, ce qui signifie qu'elles ne sont achetées qu'une seule fois et qu'il n'y a pas de frais cachés. Vous pouvez également choisir une couverture de redistribution libre de droits pour les produits SaaS et OEM pour un achat unique de seulement 199 $. Pour plus d'informations sur les paquets de licences et les plans tarifaires, veuillez consulter le site suivantici.

Comment imprimer un code-barres dans l'application Windows C# Figure 19 - Licence IronOCR

Les plans tarifaires de Google Cloud Vision sont basés sur le nombre d'opérations effectuées par l'application sur une image. Pour les fichiers comme le PDF qui comportent plusieurs pages, chaque page est traitée comme une image. En outre, chaque élément appliqué à une image constitue une unité facturable distincte. Par exemple, si vous appliquez la détection de texte et la détection d'étiquette à la même image, chaque fonction sera facturée séparément. Les plans tarifaires sont indiqués ci-dessous et pour plus d'informations, veuillez consulter le site suivantlien.

Comment imprimer un code-barres dans l'application Windows C# Figure 20 - Licence OCR Google Cloud Vision

8. Conclusion

IronOCR fournit aux développeurs C# l'API Tesseract la plus avancée que nous connaissons, sur n'importe quelle plateforme. IronOCR peut être déployé sur Windows, Linux, Mac, Azure, AWS, Lambda et prend en charge les projets du Framework .NET ainsi que .NET Standard et .NET Core_. Nous pouvons également lire les codes-barres dans les scans OCR, et même exporter notre OCR sous forme de HTML et de PDF consultables.

Google Cloud Vision API est une API avancée basée sur l'IA. Il fournit une variété de fonctions d'analyse d'images qui peuvent être très utiles dans la construction d'applications de ML. Il permet aux développeurs de communiquer directement avec le nuage Google à l'aide d'une clé API, ce qui signifie qu'il n'est pas nécessaire de stocker les fichiers localement.

Les licences IronOCR sont basées sur l'utilisateur, ce qui signifie que vous devez toujours acheter une licence en fonction du nombre de développeurs qui utiliseront le produit. Les licences Google Cloud Vision sont basées sur le nombre d'images à extraire et à analyser. Les licences sont mensuelles et les prix deviennent très élevés pour un grand nombre d'images par rapport à la licence IronOCR. De plus, la licence IronOCR est achetée une seule fois et peut être utilisée à vie. Elle prend en charge la distribution OEM et SaaS.

En conclusion, les deux bibliothèques possèdent des capacités d'apprentissage automatique. IronOCR a un léger avantage sur Google OCR car il est spécialement conçu pour le cadre C# .NET, ce qui permet de gagner du temps et de la rapidité. Il fournit toutes les fonctionnalités avec très peu de lignes de code, ce qui évite aux développeurs d'avoir à écrire de longs codes. Il est construit sur l'API Tesseract 5, la plus populaire, qui facilite l'intégration et l'analyse d'images et d'autres formats de fichiers avec des résultats précis. D'autre part, Google Vision OCR est construit sur l'IA et plus axé sur Java, Python et REST et ne peut fonctionner que lorsqu'il est connecté à Google Cloud. Cela peut prendre du temps car la réponse vient du côté du serveur. Vous pouvez choisir la bibliothèque en fonction de vos besoins spécifiques.

Désormais, vous pouvez obtenir 5 produits Iron pour le prix de 2. Les outils suivants sont inclus dans Iron Suite :

  • IronBarcode
  • IronXL
  • IronOCR
  • IronPDF
  • IronWebscraper

    Visiter ce sitelien pour en savoir plus.

    Vous pouvez télécharger IronOCR à partir deici.

< PRÉCÉDENT
AWS vs Google Vision (comparaison des fonctionnalités d'OCR)
SUIVANT >
Comparaison des logiciels d'OCR d'Iris et d'IronOCR