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 :
Création d'un projet Visual Studio
Installation de l'IronOCR
Installation de Google OCR
De l'image au texte
Code-barres et QR vers texte
PDF vers texte
Licences
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.
Sélectionnez l'application console C# parmi les options proposées.
Configurez votre nouveau projet en lui donnant un nom et un emplacement. Par exemple "OCRProject".
Cliquez sur Suivant.
À partir d'informations complémentaires, sélectionnez le Framework .NET 6.0, car il s'agit de la version la plus stable.
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
ou cliquer avec le bouton droit de la souris sur l'explorateur de solutions
Cliquez sur Gérer les paquets NuGet
La fenêtre du gestionnaire de paquets NuGet s'ouvre alors. Recherchez IronOCR et cliquez sur Installer.
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 :
Cliquez sur le lien : "".
Cliquez sur l'option Télécharger le paquet sur le côté droit de la page.
Ouvrez le paquet téléchargé et l'installation commencera.
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.
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.
Cliquez avec le bouton droit de la souris sur les dépendances du projet dans Visual Studio à partir de l'explorateur de solutions.
Sélectionnez ensuite l'option Ajouter une référence de projet.
Parcourez l'emplacement du fichier DLL téléchargé.
Enfin, cliquez sur OK pour ajouter la référence du projet.
2.4. Utilisation de l'invite de commande dans Visual Studio
Accédez à l'onglet Outils dans Visual Studio.
Extension de l'option NuGet Package Manager.
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
$vbLabelText $csharpLabel
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
Créer un compte Google
Créer un nouveau projet à partir de Google Cloud Console
Activer la facturation
Activer l'API Vision
Créer un compte de service et définir les informations d'identification
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
ou cliquer avec le bouton droit de la souris sur l'explorateur de solutions
Cliquez sur 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.
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
$vbLabelText $csharpLabel
Définissez également la variable d'environnement avec les informations d'identification téléchargées dans le fichier JSON.
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
$vbLabelText $csharpLabel
IMAGE D'ENTRÉE
SORTIE
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
$vbLabelText $csharpLabel
La même image est donnée en entrée afin de comparer les résultats des deux bibliothèques.
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
$vbLabelText $csharpLabel
IMAGE D'ENTRÉE
SORTIE
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 d'un document numérisé sous forme de fichier image. Le code pour la détection de libellé 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
$vbLabelText $csharpLabel
SORTIE
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
$vbLabelText $csharpLabel
SORTIE
Le texte extrait est formaté de la même manière que le fichier PDF.
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.
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.
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 :
Regan est diplômé de l'université de Reading, où il a obtenu une licence en ingénierie électronique. Avant de rejoindre Iron Software, il s'était concentré sur une seule tâche. Ce qu'il apprécie le plus chez Iron Software, c'est la diversité des tâches qu'il peut accomplir, qu'il s'agisse d'apporter une valeur ajoutée aux ventes, à l'assistance technique, au développement de produits ou à la commercialisation. Il aime comprendre comment les développeurs utilisent la bibliothèque d'Iron Software et utiliser ces connaissances pour améliorer continuellement la documentation et développer les produits.
< PRÉCÉDENT AWS vs Google Vision (comparaison des fonctionnalités d'OCR)
SUIVANT > Comparaison des logiciels d'OCR d'Iris et d'IronOCR
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