Passer au contenu du pied de page
OUTILS OCR
Comment implémenter l'OCR en C# en utilisant des bibliothèques open source

C# OCR open source (Liste pour développeurs)

L'OCR (Reconnaissance Optique de Caractères) est une technologie révolutionnaire qui transforme complètement la façon dont les documents numérisés peuvent être utilisés dans le monde numérique actuel. Il permet aux ordinateurs de reconnaître et d'extraire du texte à partir de diverses sources, y compris des documents PDF numérisés, ce qui nous permet de les modifier et d'interagir efficacement avec eux. L'un des programmes de reconnaissance optique de caractères (OCR) est Adobe Acrobat, qui permet d'extraire rapidement du texte à partir de documents numérisés et de les convertir en PDF modifiables et en PDF d'images consultables.

Les développeurs peuvent accéder à des outils et des API robustes qui utilisent des algorithmes de pointe et des approches d'apprentissage automatique en utilisant des bibliothèques OCR comme Tesseract et IronOCR. Ces bibliothèques permettent une reconnaissance de texte précise, simplifiant ainsi la gestion et la récupération d'informations utiles à partir de documents déjà numérisés et de documents entièrement nouveaux. La reconnaissance optique de caractères (OCR) permet une analyse de contenu fluide et aide les entreprises et les particuliers à optimiser leur productivité en tirant le meilleur parti de leurs documents numérisés et des images de pages. La reconnaissance optique de caractères (OCR) est un outil essentiel dans la technologie actuelle, qu'elle soit utilisée pour numériser des documents papier, extraire des données de factures ou simplement améliorer l'accessibilité des documents.

Tesseract

Le moteur OCR open-source le plus renommé s'appelle Tesseract, et il a été initialement créé par Hewlett-Packard. Depuis 2006, Google soutient ce projet de logiciel libre, distribué sous licence Apache.

L'un des systèmes open source et gratuits les plus précis est le moteur OCR Tesseract. Sa dernière version stable, la 4.1.1, basée sur LSTM, prend désormais en charge 116 langues.

Tesseract nécessite l'assistance d'une interface graphique (GUI) distincte lorsqu'il est exécuté à partir d'une interface en ligne de commande, car il ne possède pas sa propre interface intégrée. Il peut apprendre de nouvelles informations grâce à ses réseaux neuronaux et dispose d'un pipeline de prétraitement d'images avancé. La méthode la plus efficace pour ajouter des fonctionnalités OCR à votre application .NET est le kit de développement logiciel (SDK) Tesseract .NET, qui constitue l'une des meilleures solutions pour la reconnaissance de texte. Même si Tesseract est sans aucun doute la meilleure bibliothèque OCR actuellement sur le marché.

GOCR

La licence publique générale GNU a été utilisée pour créer le programme OCR (reconnaissance optique de caractères) connu sous le nom de GOCR. Il transforme les fichiers texte en images numérisées de documents. Après avoir lancé le programme et géré l'équipe de développement sur SF, Joerg Schulenburg continue aujourd'hui à s'occuper du package à un rythme de travail (très) faible.

Comme GOCR peut être utilisé avec plusieurs interfaces, il est relativement simple de le porter sur d'autres systèmes d'exploitation, applications réseau et architectures. Il peut lire une large gamme de types de fichiers image et, jusqu'en 2010, sa qualité s'est constamment améliorée.

Selon GOCR, il peut gérer les polices sans empattement à une seule colonne d'une hauteur de 20 à 60 pixels. Il signale des difficultés avec les textes écrits dans des alphabets autres que le latin, les polices à empattement, les lettres qui se chevauchent, les polices de caractères variées, les photos bruitées et les angles d'inclinaison excessifs. GOCR est également capable de traduire les codes-barres.

CuneiForm

CuneiForm, une technologie libre et open source, est désormais également connue sous le nom de " Cognitive OpenOCR ". Elle dispose d'une sortie intégrée et d'une base de données. Il couvre 23 langues distinctes et effectue également des tâches telles que la numérisation du format de texte, l'analyse de la mise en page des documents et l'identification.

Cognitive Technologies a développé les licences d'OpenOCR, qui sont des logiciels gratuits et sous licence BSD. Bien qu'il prenne en charge une utilisation multiplateforme, les utilisateurs Linux ne disposent pas d'interface graphique.

Pour simplifier le travail de reconnaissance de caractères dans toutes les applications Dot NET Framework 2.0 ou ultérieures, la bibliothèque wrapper Puma Dot NET est utilisée. Il effectue une vérification de dictionnaire lors du traitement des données afin d'améliorer la qualité de la reconnaissance.

CuneiForm est une technologie conçue pour convertir automatiquement ou semi-automatiquement des copies électroniques de documents papier et de fichiers image en un format modifiable sans altérer la structure ni les polices de caractères du document original. Le système comprend deux parties : l'une pour le traitement des documents électroniques par lots et l'autre document par document. De plus, il prend en charge une combinaison du russe et de l'anglais. Seule la branche créée par Andrei Borovsky en 2009 soutient la reconnaissance d'autres langues hybrides. Apprendre au système à reconnaître d'autres langues est complexe, car chaque langue est associée à un fichier de données dont la structure et le processus de création ne sont pas divulgués par les développeurs.

Kraken

Kraken a été développé pour résoudre les problèmes d'Ocropus sans impacter ses autres fonctionnalités. Elle utilise sa bibliothèque de réseaux neuronaux CLSTM et tire parti de la précieuse expérience acquise lors de projets antérieurs grâce à des données nouvelles. Son fonctionnement efficace sur différentes plateformes nécessite l'utilisation de certaines bibliothèques externes. Grâce aux informations stockées, il peut effectuer des prédictions plus précises concernant les problèmes potentiels de validation des données. De plus, sa méthodologie de travail facilite le déploiement et la formation aux nouveaux modèles.

style=";text-align:left;direction:ltr">A9T9

A9T9 est un logiciel OCR gratuit qui permet d'extraire du texte à partir de fichiers image et de convertir des images et des documents PDF. Il fournit une interface utilisateur graphique (GUI) pour le moteur OCR Tesseract.

Le programme est facile à installer. Plus important encore, il est entièrement gratuit et libre de droits. Il ne contient aucun logiciel espion ni logiciel publicitaire.

Vous pouvez ouvrir un fichier PDF ou une image, et le contenu du fichier source s'affichera dans la fenêtre de gauche. Si votre document comporte plusieurs pages ou s'il s'agit d'un document multipage, vous pouvez utiliser les flèches en bas de page pour naviguer entre les pages.

Pour lancer le processus OCR, cliquez simplement sur le bouton vert OCR, et le résultat apparaîtra dans le deuxième volet à droite. Vous avez la possibilité d'enregistrer le texte de sortie sous forme de fichiers texte et de documents Word.

IronOCR

Contrairement à la bibliothèque Tesseract standard, IronOCR étend Tesseract et fournit une bibliothèque OCR native C# avec une précision accrue, des performances améliorées et une stabilité renforcée. IronOCR peut être utilisé dans les programmes et sites web .NET pour extraire du texte à partir de fichiers PDF et d'images. Il prend en charge un large éventail de langues étrangères et peut générer des sorties en texte brut ou en données structurées. Il est capable de scanner les codes-barres et les images contenant du texte. Cette bibliothèque est compatible avec les applications .NET développées pour console, web, MVC et bureau. L'équipe de développement propose une assistance directe pour l'obtention des licences en vue de déploiements commerciaux. IronOCR est compatible avec les dernières versions de Visual Studio.

Avantage d'IronOCR

  • Grâce au moteur Tesseract 5 de dernière génération, IronOCR est capable de lire des documents papier, des codes-barres et des codes QR à partir de divers fichiers image ou PDF. Ce package simplifie l'intégration de la reconnaissance optique de caractères (OCR) dans les applications de bureau, console et web.
  • IronOCR nous permet d'effectuer une reconnaissance optique de caractères (OCR), ce qui nous permet de convertir des PDF numérisés en PDF consultables.
  • Outre les listes de mots et les langues personnalisées, IronOCR prend en charge 125 langues différentes à travers le monde.
  • IronOCR peut scanner plus de 20 types différents de codes-barres et de codes QR.
  • IronOCR peut fournir une sortie en texte brut ainsi que des données de code-barres. Les développeurs peuvent récupérer tout le contenu pour une saisie directe dans un système en utilisant un paradigme alternatif d'objet de données structurées. Cela inclut les titres structurés, les paragraphes, les lignes, les mots et les caractères dans les applications web.

Vous trouverez ci-dessous un exemple de code que nous utiliserons pour reconnaître le contenu textuel de l'image donnée et le convertir en texte.

using IronOcr;

// Instantiate an IronTesseract object to utilize its OCR capabilities
var Ocr = new IronTesseract();

// Set the language to English for better accuracy
Ocr.Language = OcrLanguage.EnglishBest;

// Optionally specify the Tesseract version to ensure compatibility
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;

// Create an OcrInput object to add images for OCR processing
using (var Input = new OcrInput())
{
    // Add the image to be processed; specify the image's path
    Input.AddImage(@"Demo.png");

    // Perform the OCR and store the result
    var Result = Ocr.Read(Input);

    // Output the extracted text to the console
    Console.WriteLine(Result.Text);

    // Pause the console to keep it open
    Console.ReadKey();
}
using IronOcr;

// Instantiate an IronTesseract object to utilize its OCR capabilities
var Ocr = new IronTesseract();

// Set the language to English for better accuracy
Ocr.Language = OcrLanguage.EnglishBest;

// Optionally specify the Tesseract version to ensure compatibility
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;

// Create an OcrInput object to add images for OCR processing
using (var Input = new OcrInput())
{
    // Add the image to be processed; specify the image's path
    Input.AddImage(@"Demo.png");

    // Perform the OCR and store the result
    var Result = Ocr.Read(Input);

    // Output the extracted text to the console
    Console.WriteLine(Result.Text);

    // Pause the console to keep it open
    Console.ReadKey();
}
$vbLabelText   $csharpLabel

Dans l'extrait de code ci-dessus, nous développons une fonctionnalité utilisant IronTesseract. Tout d'abord, nous instancions un nouvel objet OcrInput pour permettre l'ajout d'un ou plusieurs fichiers image. Vous pouvez ajouter autant d'images que vous le souhaitez en spécifiant le chemin de chaque image à l'aide de la méthode AddImage. Après avoir ajouté vos images, la méthode Read est appelée sur l'objet IronTesseract pour effectuer l'OCR sur l'entrée fournie. Le texte résultant est ensuite extrait et affiché via la console.

Le résultat ci-dessous affiche le texte extrait de l'image fournie précédemment, démontrant ainsi que le texte a été extrait avec succès de l'image.

OCR C# Open Source (Liste pour les développeurs) Figure 1 - Sortie

Consultez cet article pour obtenir des instructions complètes sur IronOCR.

Conclusion

Les outils OCR open source nous permettent de construire nos propres programmes en utilisant leur code source. Cependant, certains outils ne disposent pas de bibliothèque officielle ni d'équipe dédiée pour fournir une assistance en cas de problèmes de codage. La documentation de Tesseract manque également d'exemples de code ou de tutoriels pour les scénarios d'utilisation courants, ce qui rend difficile la compréhension du code et des bibliothèques pour les débutants.

IronOCR prend en charge divers projets .NET tels que .NET Framework Standard 2, .NET Framework 4.5 et .NET Core 2, 3 et 5. Il fonctionne également avec des technologies plus récentes comme Mono, Xamarin et Azure. En tirant parti des technologies IronOCR, nous pouvons améliorer les résultats de Tesseract et corriger les documents ou images numérisés de manière inexacte. Le système complexe de dictionnaires Tesseract est géré par le biais du package NuGet. Nous utilisons la bibliothèque Iron OCR pour développer un outil OCR.

Avec IronOCR, nous pouvons utiliser le programme sans aucune configuration supplémentaire, et il prend en charge les fichiers PDF, les TIFF multi-images et tous les formats d'image courants. Il offre également des fonctionnalités de reconnaissance de codes-barres, nous permettant d'extraire des données de codes-barres et de lire les valeurs des codes-barres à partir d'images. IronOCR propose une version de développement économique avec un essai gratuit, et la licence à vie est incluse sans frais supplémentaires dans l'offre IronOCR. Cette offre permet de couvrir plusieurs plateformes avec un seul paiement. Pour plus d'informations sur les tarifs d'IronOCR, veuillez consulter cette page .

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

Équipe de soutien Iron

Nous sommes en ligne 24 heures sur 24, 5 jours sur 7.
Chat
Email
Appelez-moi