Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
La technologie de la reconnaissance optique des caractères(OCR) permet de convertir un texte imprimé ou manuscrit en un format numérique lisible par une machine. Lorsqu'un document est scanné(comme une facture ou un reçu)l'image numérisée est enregistrée par votre ordinateur sous la forme d'un fichier image. Toutefois, le texte contenu dans l'image numérisée ne peut pas être modifié, recherché ou compté à l'aide d'un éditeur de texte ordinaire.
Cependant, l'OCR peut traiter l'image, extraire le texte et le transformer en un format de texte lisible par les ordinateurs. Il permet d'extraire du texte à partir de diverses sources, y compris des fichiers PDF et d'autres images numérisées. En outre, les capacités d'OCR vont au-delà de la simple extraction de texte pour inclure les principaux formats d'image et les documents PDF, en les convertissant en données OCR consultables.
En C#, les développeurs peuvent exploiter la puissance de l'OCR grâce à diverses bibliothèques, dont la puissante bibliothèqueIronOCR deIron Software. Dans ce tutoriel, nous explorerons les bases de l'OCR et montrerons comment utiliser l'OCRIronOCR pour effectuer une reconnaissance de caractères efficace en C#.
Créez un tout nouveau projet C# et donnez-lui un nom dans Visual Studio.
Installer leIronOCR .NET et l'inclure dans le dossier du projet.
Utiliser leIronOCR Tesseract pour lire du texte à partir d'images.
Utiliser leIronOCR Fonctionnalités avancées pour lire le texte dans les images
IronOCR une bibliothèque C# développée parIron Software est un logiciel qui offre des capacités avancées d'OCR. Il permet d'extraire avec précision du texte à partir d'images, de PDF et de documents numérisés. Avant de nous plonger dans le code, assurez-vous que vous avez installé IronOCR dans votre projet.
IronOCR augmente les capacités du moteur OCR Tesseract, largement utilisé, en améliorant à la fois la précision et la vitesse. Il s'agit d'une solution robuste pour l'extraction de texte à partir de diverses sources, y compris les images, les PDF et d'autres formats de documents.
Prenant en charge plus de 127 langues, IronOCR est capable de répondre aux besoins multilingues, ce qui en fait un choix idéal pour les applications exigeant une polyvalence linguistique.
Le texte extrait peut être édité sous forme de texte simple ou de données structurées pour une intégration transparente dans les pipelines de traitement ultérieurs. En outre, IronOCR facilite la création de PDF consultables directement à partir d'images.
Conçu pour être compatible avec C#, F# et VB.NET, IronOCR fonctionne en toute transparence dans divers environnements .NET, notamment les versions 8, 7, 6, Core, Standard et Framework.
IronOCR exploite la puissance de Tesseract 5, finement adapté pour des performances optimales au sein de l'écosystème .NET.
Avec IronOCR, les utilisateurs peuvent définir avec précision des zones spécifiques dans les documents, ce qui permet un traitement OCR ciblé. Cette fonction améliore la précision et l'efficacité en concentrant la puissance de traitement là où elle est le plus nécessaire.
La bibliothèque offre une suite de fonctionnalités de prétraitement d'images telles que le désalignement et la réduction du bruit. Ces outils garantissent des résultats de qualité supérieure, même lorsque les images sources sont imparfaites, ce qui améliore l'expérience globale de l'OCR.
Nous allons maintenant développer une application de démonstration qui utilise IronOCR pour lire du texte à partir d'images.
Visual Studio: Assurez-vous que vous avez installéVisual Studio ou tout autre environnement de développement C#.
Pour commencer, créons une nouvelle application console à l'aide de Visual Studio, comme indiqué ci-dessous.
Indiquez ci-dessous le nom et l'emplacement du projet.
Sélectionnez la version .NET requise pour le projet.
Cliquez sur le bouton Créer pour créer le nouveau projet.
IronOCR peuvent être trouvés dans leNuGet comme indiqué ci-dessous. Utilisez la commande fournie pour installer le paquet.
À l'aide du gestionnaire de paquets NuGet de Visual Studio, recherchez IronOCR et installez-le dans le dossier de votre projet.
Une fois installée, l'application est prête à utiliserIronOCR pour lire du texte à partir d'images.
IronOCR se distingue en tant que bibliothèque .NET exclusive offrant les capacités OCR de Tesseract 5. À l'heure actuelle, elle a la particularité d'être la bibliothèque Tesseract 5 la plus sophistiquée, tous langages de programmation confondus. IronOCR intègre de manière transparente Tesseract 5 dans divers environnements .NET, notamment Framework, Standard, Core, Xamarin et Mono, garantissant ainsi une prise en charge complète dans l'ensemble de l'écosystème.
Considérons le fichier image ci-dessous comme entrée. Voyons maintenant comment lire le texte dans ce fichier image
using IronOcr;
public class Program
{
public static void Main(String [] args)
{
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"sample1.png");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}
}
using IronOcr;
public class Program
{
public static void Main(String [] args)
{
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"sample1.png");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}
}
Imports IronOcr
Public Class Program
Public Shared Sub Main(ByVal args() As String)
Dim ocrTesseract = New IronTesseract()
Dim ocrInput As New OcrInput()
ocrInput.LoadImage("sample1.png")
Dim ocrResult = ocrTesseract.Read(ocrInput)
Console.WriteLine(ocrResult.Text)
End Sub
End Class
Nous commençons par créer IronTesseract avec la configuration requise
Nous chargeons ensuite l'exemple d'image affiché dans l'objet OcrInput
L'objet IronTesseract.Configuration permet aux utilisateurs avancés d'accéder à l'API Tesseract sous-jacente au sein de C#/.NET, ce qui permet une configuration détaillée de l'installation en vue d'un réglage fin et d'une optimisation. Voici quelques-unes des configurations avancées possibles
Vous pouvez spécifier la langue de l'OCR à l'aide de la propriété Language. Par exemple, pour régler la langue sur l'anglais, utilisez :
IronTesseract ocr = new IronTesseract();
ocr.Language = OcrLanguage.English;
IronTesseract ocr = new IronTesseract();
ocr.Language = OcrLanguage.English;
Dim ocr As New IronTesseract()
ocr.Language = OcrLanguage.English
Le PageSegmentationMode détermine la manière dont Tesseract segmente l'image d'entrée. Les options comprennent AutoOsd, SingleBlock, SingleLine, etc. Par exemple :
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd;
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd;
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd
Vous pouvez affiner Tesseract en définissant des variables spécifiques. Par exemple, pour désactiver la parallélisation :
ocr.Configuration.TesseractVariables ["tessedit_parallelize"] = false;
ocr.Configuration.TesseractVariables ["tessedit_parallelize"] = false;
ocr.Configuration.TesseractVariables ("tessedit_parallelize") = False
Utilisez WhiteListCharacters et BlackListCharacters pour contrôler les caractères reconnus par Tesseract. Par exemple :
ocr.Configuration.WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
ocr.Configuration.BlackListCharacters = "`ë
^";
ocr.Configuration.WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
ocr.Configuration.BlackListCharacters = "`ë
^";
ocr.Configuration.WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
ocr.Configuration.BlackListCharacters = "`ë ^"
Explorez d'autres variables de configuration de Tesseract pour personnaliser le comportement en fonction de vos besoins. Par exemple :
ocr.Configuration.TesseractVariables ["classify_num_cp_levels"] = 3;
ocr.Configuration.TesseractVariables ["textord_debug_tabfind"] = 0;
// ... (more variables)
ocr.Configuration.TesseractVariables ["classify_num_cp_levels"] = 3;
ocr.Configuration.TesseractVariables ["textord_debug_tabfind"] = 0;
// ... (more variables)
ocr.Configuration.TesseractVariables ("classify_num_cp_levels") = 3
ocr.Configuration.TesseractVariables ("textord_debug_tabfind") = 0
' ... (more variables)
Essayons maintenant de décoder la même image en utilisant les paramètres avancés
using IronOcr;
public class Program
{
public static void Main()
{
Console.WriteLine("Decoding using advanced features");
var ocrTesseract = new IronTesseract() // create instance
{
Language = OcrLanguage.EnglishBest, // configure best english language
Configuration = new TesseractConfiguration()
{
ReadBarCodes = false, // read bar codes false
BlackListCharacters = "`ë
^", // black listed characters
WhiteListCharacters = null, // no white list, allow all
PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd,
TesseractVariables = null, // no custom variable used
},
MultiThreaded = false,
};
using var ocrInput = new OcrInput(); // create a disposible ocr input object
ocrInput.AddImage(@"sample1.png"); // load the sample image
var ocrResult = ocrTesseract.Read(ocrInput); // read the text from the image
Console.WriteLine(ocrResult.Text);// output the image
}
}
using IronOcr;
public class Program
{
public static void Main()
{
Console.WriteLine("Decoding using advanced features");
var ocrTesseract = new IronTesseract() // create instance
{
Language = OcrLanguage.EnglishBest, // configure best english language
Configuration = new TesseractConfiguration()
{
ReadBarCodes = false, // read bar codes false
BlackListCharacters = "`ë
^", // black listed characters
WhiteListCharacters = null, // no white list, allow all
PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd,
TesseractVariables = null, // no custom variable used
},
MultiThreaded = false,
};
using var ocrInput = new OcrInput(); // create a disposible ocr input object
ocrInput.AddImage(@"sample1.png"); // load the sample image
var ocrResult = ocrTesseract.Read(ocrInput); // read the text from the image
Console.WriteLine(ocrResult.Text);// output the image
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
Configuration IronOCR : Une instance d'IronTesseract(la classe principale IronOCR) est créée et affectée à la variable ocrTesseract.
Les paramètres de configuration sont appliqués à ocrTesseract :
Langue : Spécifie la langue de l'OCR(en l'occurrence, l'anglais).
Configuration : Un objet TesseractConfiguration qui permet une personnalisation plus poussée :
ReadBarCodes : Désactive la lecture des codes-barres.
BlackListCharacters : Spécifie les caractères à mettre sur liste noire(caractères à ne pas reconnaître).
WhiteListCharacters : Aucune liste blanche n'est spécifiée, tous les caractères sont autorisés.
PageSegmentationMode : Définit le mode de segmentation des pages sur "AutoOsd"
EntréeOCR et chargement d'images: Un bloc d'utilisation crée un objet ocrInput jetable de type OcrInput. Le fichier image "sample1.png" est ajouté à ocrInput.
Extraction de texte : La méthode Read est appelée sur ocrTesseract, en passant par ocrInput.
Le résultat est stocké dans la variable ocrResult.
Lorsque vous travaillez avec IronOCR, vous avez accès à divers filtres d'image qui peuvent aider à prétraiter les images avant d'effectuer l'OCR. Ces filtres optimisent la qualité de l'image, améliorent la visibilité et réduisent le bruit ou les artefacts. Ils permettent d'améliorer les performances de l'opération d'OCR.
Rotate :
Le filtre Rotation permet de faire pivoter les images d'un certain nombre de degrés dans le sens des aiguilles d'une montre. Pour une rotation dans le sens inverse des aiguilles d'une montre, utilisez des nombres négatifs.
Deskew :
Le filtre Deskew corrige l'obliquité de l'image, en veillant à ce que le texte soit droit et orthogonal. Ceci est particulièrement utile pour l'OCR, car Tesseract fonctionne mieux avec des scans correctement orientés.
Echelle :
Le filtre Échelle met à l'échelle proportionnellement les pages d'entrée de l'OCR.
Binariser :
Le filtre Binarize convertit chaque pixel en noir ou en blanc, sans zone intermédiaire. Il permet d'améliorer les performances de l'OCR en cas de très faible contraste entre le texte et l'arrière-plan.
ToGrayScale :
Le filtre ToGrayScale convertit chaque pixel en une nuance de gris. Bien qu'il soit peu probable qu'elle améliore de manière significative la précision de l'OCR, elle peut en améliorer la vitesse.
Invert :
Le filtre Invert inverse les couleurs : le blanc devient noir et le noir devient blanc.
ReplaceColor :
Le filtre ReplaceColor remplace une couleur spécifique dans une image par une autre couleur, en tenant compte d'un certain seuil.
Contraste :
Le filtre Contraste augmente automatiquement le contraste. Il améliore souvent la vitesse et la précision de l'OCR dans les numérisations à faible contraste.
Dilater et Éroder :
Ces filtres morphologiques avancés manipulent les limites des objets dans une image.
Erode supprime les pixels des limites de l'objet.
Aiguiser :
Le filtre Sharpen permet d'accentuer la netteté des documents OCR flous et d'aplatir les canaux alpha au blanc.
DeNoise :
Le filtre DeNoise supprime le bruit numérique. Utilisez-le lorsque du bruit est attendu.
DeepCleanBackgroundNoise :
Ce filtre de suppression du bruit de fond important ne doit être utilisé que lorsque le bruit de fond extrême du document est connu. Elle peut réduire la précision de l'OCR pour les documents propres et est gourmande en ressources humaines.
Améliorer la résolution :
Le filtre EnhanceResolution améliore la résolution des images de faible qualité. Elle n'est pas souvent nécessaire en raison de la gestion automatique de la résolution.
Voici un exemple d'application de filtres à l'aide d'IronOCR en C# :
var ocr = new IronTesseract();
var input = new OcrInput();
input.LoadImage("sample.png");
input.Deskew();
var result = ocr.Read(input);
Console.WriteLine(result.Text);
var ocr = new IronTesseract();
var input = new OcrInput();
input.LoadImage("sample.png");
input.Deskew();
var result = ocr.Read(input);
Console.WriteLine(result.Text);
Dim ocr = New IronTesseract()
Dim input = New OcrInput()
input.LoadImage("sample.png")
input.Deskew()
Dim result = ocr.Read(input)
Console.WriteLine(result.Text)
Numérisation de documents: L'OCR est largement utilisé pour convertir en format numérique des documents papier scannés, tels que des factures, des reçus, des formulaires et des contrats. Ce processus de numérisation rationalise le stockage, la récupération et la gestion des documents, réduisant ainsi l'encombrement du papier et améliorant l'efficacité.
Extraction de données: L'OCR permet d'extraire du texte et des données à partir de documents numérisés, d'images et de PDF. Ces données extraites peuvent être utilisées pour la saisie automatisée de données, l'analyse de contenu, l'indexation et l'intégration dans des bases de données ou des systèmes d'entreprise.
**La technologie OCR permet d'extraire du texte à partir d'images imprimées ou manuscrites à des fins d'indexation et de recherche. Cette capacité est utilisée dans diverses applications, notamment la réalité augmentée, les moteurs de recherche basés sur l'image et les services de traduction.
Reconnaissance automatique des plaques d'immatriculation(ALPR): Les systèmes ALPR utilisent l'OCR pour lire les numéros de plaques d'immatriculation à partir d'images ou de flux vidéo capturés par des caméras installées dans des applications de surveillance du trafic, de gestion des parkings, de perception de péages et d'application de la loi.
Solutions d'accessibilité: OCR joue un rôle crucial dans la création de contenus accessibles aux personnes souffrant de déficiences visuelles. En convertissant le texte des images ou des documents en parole ou en braille, l'OCR contribue à rendre l'information accessible aux personnes handicapées.
**La technologie OCR est utilisée dans les processus de vérification de l'identité, tels que la numérisation et le traitement des documents d'identité comme les passeports, les permis de conduire et les cartes d'identité. Il permet de vérifier l'authenticité des documents et d'extraire des informations pertinentes à des fins de vérification de l'identité.
Banque et finance: L'OCR est utilisé dans la banque et la finance pour des tâches telles que la lecture de chèques, le traitement de factures, la conversion d'un document PDF existant, l'extraction de données à partir d'états financiers et l'automatisation de flux de travail basés sur des documents afin d'améliorer la précision et l'efficacité des opérations financières.
**Dans le secteur de la santé, l'OCR facilite la conversion des dossiers médicaux manuscrits ou imprimés en formats électroniques, ce qui contribue à la création de dossiers médicaux électroniques(DSE) la gestion, l'analyse des données et les processus de prise de décision.
**La technologie OCR est intégrée dans les outils de traduction et les applications d'apprentissage des langues pour convertir les textes imprimés d'une langue à l'autre. Les utilisateurs peuvent saisir du texte à l'aide de leur appareil et l'OCR les aide à le traduire dans la langue souhaitée en temps réel.
IronOCR. Fournissez les détails ci-dessous pour recevoir la clé à votre adresse électronique
Une fois la clé obtenue, soit par achat, soit par essai gratuit, suivez les étapes suivantes pour utiliser la clé
Définir votre clé de licence : Définissez votre clé de licence IronOCR en utilisant le code. Ajoutez la ligne suivante au démarrage de votre application(avant d'utiliser IronOCR):
IronOcr.License.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";
IronOcr.License.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";
IronOcr.License.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01"
Clé d'application mondiale(Web.Config ou App.Config) : Pour appliquer une clé globalement dans votre application, utilisez le fichier de configuration(Web.Config ou App.Config). Ajoutez la clé suivante à votre appSettings :
<configuration>
<!-- Other settings -->
<appSettings>
<add key="IronOcr.LicenseKey" value="IRONOCR-MYLICENSE-KEY-1EF01"/>
</appSettings>
</configuration>
<configuration>
<!-- Other settings -->
<appSettings>
<add key="IronOcr.LicenseKey" value="IRONOCR-MYLICENSE-KEY-1EF01"/>
</appSettings>
</configuration>
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<configuration> <!-- Other settings -- > <appSettings> <add key="IronOcr.LicenseKey" value="IRONOCR-MYLICENSE-KEY-1EF01"/> </appSettings> </configuration>
Utilisation du fichier appsettings.json de .NET Core : Pour les applications .NET Core, créez un fichier appsettings.json dans le répertoire racine de votre projet. Remplacez la clé "IronOcr.LicenseKey" par la valeur de votre licence :
{
"IronOcr.LicenseKey": "IRONOCR-MYLICENSE-KEY-1EF01"
}
{
"IronOcr.LicenseKey": "IRONOCR-MYLICENSE-KEY-1EF01"
}
If True Then
"IronOcr.LicenseKey": "IRONOCR-MYLICENSE-KEY-1EF01"
End If
Test de votre clé de licence : Vérifiez que votre clé a été installée correctement en la testant :
bool result = IronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF01");
bool result = IronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF01");
Dim result As Boolean = IronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF01")
En conclusion,IronOCRà partir de 749 $. Profitez de la puissance de l'OCR avecIronOCR et ouvrez un monde de possibilités dans vos projets C#.
9 produits de l'API .NET pour vos documents de bureau