UTILISATION DE L'IRONOCR

Comment lire des documents d'identité à l'aide de l'OCR en C#

Kannaopat Udonpant
Kannapat Udonpant
mars 26, 2024
Partager:

Introduction

La technologie de reconnaissance optique de caractères (OCR) est devenue un outil inestimable pour automatiser l'extraction de texte à partir d'images, permettant une récupération et une analyse de données efficaces tout en évitant les erreurs humaines. Cette technologie peut être utilisée pour lire les permis de conduire, les passeports, les documents officiels des institutions, les cartes d'identité, les cartes de permis de séjour et les documents de voyage de plusieurs langues et de différents pays afin d'en connaître la date d'expiration exacte, la nationalité, la date de naissance, etc. Toutes les données extraites peuvent ensuite être intégrées dans des logiciels d'apprentissage automatique et d'intelligence artificielle.

Dans cet article, nous allons explorer comment exploiter IronOCR, une puissante bibliothèque OCR en C# de Iron Software, pour lire et extraire des informations à partir de documents d'identité. IronOCR fournit une solution OCR simple et flexible sous forme d'APIs pour les tâches d'OCR, ce qui en fait un excellent choix pour les développeurs cherchant à intégrer des capacités de logiciel OCR dans leurs applications.

IronOCR permet aux ordinateurs de reconnaître et d'extraire du texte à partir d'images, de numériser des documents existants ou toute autre représentation visuelle de texte. Pour extraire des données, il faut une série de processus complexes qui imitent la façon dont les humains perçoivent et interprètent visuellement un texte. Ce processus comprend le prétraitement de l'image, la détection du texte, la segmentation des caractères, l'extraction des caractéristiques, la reconnaissance des caractères et le post-traitement pour corriger les erreurs.

Comment lire des documents d'identité à l'aide de l'OCR en C# ;

  1. Créer un nouveau projet C# dans Visual Studio

  2. Installez la bibliothèque .NET IronOCR et ajoutez-la à votre projet.

  3. Lire les images de documents d'identité à l'aide de la bibliothèque IronOCR.

  4. Lire le document d'identité à partir de PDF.

    IronOCR, conçu et maintenu par Iron Software, sert de bibliothèque puissante pour les ingénieurs logiciels C#, facilitant la reconnaissance optique de caractères (OCR), la numérisation de codes-barres et l'extraction de texte dans les projets .NET.

Principales caractéristiques de l'IronOCR

Polyvalence de la lecture de texte

Capable de lire des données pertinentes à partir de divers formats, y compris les images (JPEG, PNG, GIFF, TIFF, BMP), les flux et les PDFs.

Amélioration de l'image

Corrige les scans et les photos de mauvaise qualité grâce à un ensemble de filtres tels que Deskew, Denoise, Binarize, Enhance Resolution, Dilate, et bien d'autres encore.

Reconnaissance des codes-barres

Prise en charge de la lecture des codes-barres dans un large éventail de formats, comprenant plus de 20 types de codes-barres, avec en plus la reconnaissance des codes QR.

Intégration de l'OCR Tesseract

Utilise la dernière version de Tesseract OCR, finement réglée pour des performances optimales dans l'extraction de texte à partir d'images.

Options de sortie flexibles

Permet d'exporter des PDF consultables, du HTML et du contenu textuel à partir de fichiers images, offrant ainsi une grande souplesse dans la gestion des informations extraites.

Passons maintenant au développement d'une application de démonstration qui utilise IronOCR pour lire des documents d'identité.

Conditions préalables

  1. Visual Studio : Assurez-vous d'avoir Visual Studio ou tout autre environnement de développement C# installé.

  2. Gestionnaire de Paquets NuGet : Assurez-vous de pouvoir utiliser NuGet pour gérer les paquets dans votre projet

Étape 1 : Créer un nouveau projet C# dans Visual Studio

Commencez par créer une nouvelle application console C# dans Visual Studio ou utilisez un projet existant. Sélectionnez Ajouter un nouveau projet dans le menu, puis sélectionnez l'application de la console dans les modèles ci-dessous.

Comment lire des documents d'identité en utilisant l'OCR en C#: Figure 1

Indiquez le nom et l'emplacement du projet dans les fenêtres ci-dessous

Comment lire les documents d'identité à l'aide de l'OCR en C#: Figure 2

Sélectionnez la version .NET requise

Comment lire les documents d'identité à l'aide d'OCR en C#: Figure 3

Cliquez sur le bouton Créer pour créer le nouveau projet.

Étape 2 : Installez la bibliothèque IronOCR et ajoutez-la à votre projet.

IronOCR peut être trouvé dans le gestionnaire de packages NuGet et peut être installé en utilisant l'invite de commande avec les commandes ci-dessous.

Comment lire les documents d'identité en utilisant OCR en C#: Figure 4

IronOCR peut être installé en utilisant Visual Studio. Ouvrez le gestionnaire de packages NuGet et recherchez IronOCR comme ci-dessous, puis cliquez sur installer

Comment lire des documents d'identité à l'aide de l'OCR en C# : Figure 5

Une fois installée, l'application est prête à utiliser IronOCR pour lire tout document d'identité pour l'extraction de données et la vérification d'identité, ce qui réduira le travail de saisie de données manuelle.

Étape 3 : Lire les images du document d'identité à l'aide de la bibliothèque IronOCR

L'utilisation de l'OCR pour le traitement des documents d'identité comporte de nombreuses étapes, qui sont détaillées ci-dessous.

Prétraitement des images

Le traitement des documents OCR ID commence par l'acquisition d'une image contenant du texte. Cette image peut être un document d'identité scanné, une photographie de carte d'identité ou toute autre représentation visuelle du texte. Les étapes de prétraitement de la carte d'identité peuvent comprendre le redimensionnement, la réduction du bruit et l'amélioration de la qualité et de la clarté de l'image.

Détection de texte

Les algorithmes d'OCR doivent localiser les zones de données spécifiques de l'image où se trouve le texte. Cette étape consiste à identifier les régions de texte ou les zones de délimitation.

Segmentation des personnages

Une fois les zones de texte ou les champs de données identifiés, l'image est analysée plus en détail afin de segmenter les caractères individuels. Cette étape est cruciale pour les langues qui utilisent des caractères distincts, comme l'anglais ou le chinois.

Extraction des caractéristiques

Les algorithmes d'OCR analysent les caractères segmentés pour en extraire les caractéristiques qui permettent de différencier les différents caractères. Ces caractéristiques peuvent inclure les motifs des traits, la forme et les relations spatiales entre les éléments.

Reconnaissance des caractères

Sur la base des caractéristiques extraites, les algorithmes d'OCR classent chaque caractère segmenté et lui attribuent une représentation textuelle correspondante. Les modèles d'apprentissage automatique, tels que les réseaux neuronaux, sont souvent utilisés à cette étape.

Post-traitement

Les caractères reconnus peuvent faire l'objet d'un post-traitement afin de corriger les erreurs ou d'améliorer la précision. Cette étape peut impliquer des corrections basées sur des dictionnaires, une analyse du contexte ou une modélisation de la langue.

La bibliothèque IronOCR s'occupe de toutes les étapes ci-dessus et nous permet de réaliser l'OCR en utilisant seulement quelques lignes de code, économisant ainsi des tâches fastidieuses et chronophages.

using IronOcr;
class Program
{
    public static void Main()
    {
        IronTesseract ocrTesseract = new IronTesseract()
        {
            Language = OcrLanguage.EnglishBest,
            Configuration = new TesseractConfiguration()
            {
                ReadBarCodes = false,
                BlackListCharacters = "`ë
^",
                PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd,
            }
        };
        using var ocrInput = new OcrInput("id1.png");
        var ocrResult = ocrTesseract.Read(ocrInput);
        Console.WriteLine(ocrResult.Text);
    }
}
using IronOcr;
class Program
{
    public static void Main()
    {
        IronTesseract ocrTesseract = new IronTesseract()
        {
            Language = OcrLanguage.EnglishBest,
            Configuration = new TesseractConfiguration()
            {
                ReadBarCodes = false,
                BlackListCharacters = "`ë
^",
                PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd,
            }
        };
        using var ocrInput = new OcrInput("id1.png");
        var ocrResult = ocrTesseract.Read(ocrInput);
        Console.WriteLine(ocrResult.Text);
    }
}
Imports IronOcr
Friend Class Program
	Public Shared Sub Main()
		Dim ocrTesseract As New IronTesseract() With {
			.Language = OcrLanguage.EnglishBest,
			.Configuration = New TesseractConfiguration() With {
				.ReadBarCodes = False,
				.BlackListCharacters = "`ë ^",
				.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd
			}
		}
		Dim ocrInput As New OcrInput("id1.png")
		Dim ocrResult = ocrTesseract.Read(ocrInput)
		Console.WriteLine(ocrResult.Text)
	End Sub
End Class
$vbLabelText   $csharpLabel

Image d'entrée

Voici un exemple d'image utilisée comme entrée dans le programme

Comment lire les documents d'identité en utilisant l'OCR en C#: Figure 6

Sortie

Comment lire des documents d'identité à l'aide de l'OCR en C# : Figure 7

Explication du code

Le code ci-dessus utilise la bibliothèque IronOCR pour lire tous les champs de texte dans le document d'identité. Nous utilisons la classe IronTesseract de la bibliothèque IronOCR et nous la configurons pour utiliser la langue anglaise et certains caractères sur liste noire. Ensuite, nous déclarons l'entrée OCR en utilisant la classe OcrInput, puis lisons le texte à partir de l'image. Les champs de texte extraits sont visibles dans la sortie de la console.

Étape 4 : Lire les documents d'identité à partir des PDF.

Nous pouvons également lire des documents PDF. Pour cela, nous pouvons utiliser la bibliothèque IronPDF de IronSoftware. Tout d'abord, installez la bibliothèque comme suit

Comment lire des documents d'identité à l'aide d'OCR en C# : Figure 8

using IronOcr;
using IronPdf;
class Program
{
    public static void Main()
    {
        var pdfReader = new PdfDocument("id1.pdf");
        var ocrTesseract = new IronTesseract();
        using var ocrInput = new OcrInput();
        ocrInput.AddPdf(pdfReader.Stream);
        var ocrResult = ocrTesseract.Read(ocrInput);
        Console.WriteLine(ocrResult.Text);
    }
}
using IronOcr;
using IronPdf;
class Program
{
    public static void Main()
    {
        var pdfReader = new PdfDocument("id1.pdf");
        var ocrTesseract = new IronTesseract();
        using var ocrInput = new OcrInput();
        ocrInput.AddPdf(pdfReader.Stream);
        var ocrResult = ocrTesseract.Read(ocrInput);
        Console.WriteLine(ocrResult.Text);
    }
}
Imports IronOcr
Imports IronPdf
Friend Class Program
	Public Shared Sub Main()
		Dim pdfReader = New PdfDocument("id1.pdf")
		Dim ocrTesseract = New IronTesseract()
		Dim ocrInput As New OcrInput()
		ocrInput.AddPdf(pdfReader.Stream)
		Dim ocrResult = ocrTesseract.Read(ocrInput)
		Console.WriteLine(ocrResult.Text)
	End Sub
End Class
$vbLabelText   $csharpLabel

Le code ci-dessus utilise IronPDF pour charger le document id.PDF et ce PDF est passé en tant que flux à OcrInput et ocrTesseract.

Sortie

Comment lire des documents d'identité en utilisant l'OCR en C# : Figure 9

Licence (essai gratuit disponible)

IronOCR. Cette clé doit être placée dans appsettings.json.

"IRONOCR-LICENSE-KEY": "your license key"
"IRONOCR-LICENSE-KEY": "your license key"
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'"IRONOCR-LICENSE-KEY": "your license key"
$vbLabelText   $csharpLabel

Fournir l'adresse e-mail de l'utilisateur pour obtenir une licence d'essai.

Comment lire les documents d'identité à l'aide de l'OCR en C#: Figure 10

Cas d'utilisation

1. Vérification d'identité dans les services financiers :

Cas d'utilisation : Les banques et les institutions financières utilisent l'OCR pour lire les documents d'identité tels que les passeports, les permis de conduire et les cartes d'identité au cours du processus d'accueil des clients et du processus KYC.

Avantages : Assure une vérification précise et efficace de l'identité pour la création de comptes, les demandes de prêt et d'autres transactions financières.

2. Contrôle des frontières et immigration :

Cas d'utilisation : Les services d'immigration utilisent la technologie OCR pour lire et authentifier les informations contenues dans les passeports et les visas aux points de contrôle frontaliers.

Avantages : Rationalisation du processus d'immigration, renforcement de la sécurité et réduction des erreurs de saisie manuelle des données.

3. Contrôle d'accès et sécurité :

Cas d'utilisation : L'OCR est utilisée dans les systèmes de contrôle d'accès pour lire les informations contenues dans les cartes d'identité, les badges des employés ou les scans de reconnaissance faciale afin de sécuriser l'entrée dans les bâtiments ou les zones restreintes.

Avantages : Renforce la sécurité en veillant à ce que seules les personnes autorisées y aient accès et fournit un enregistrement numérique des entrées.

4. Services d'e-gouvernement :

Cas d'utilisation : Les agences gouvernementales utilisent l'OCR pour traiter et vérifier les documents d'identité soumis en ligne pour des services tels que les renouvellements de permis de conduire, les déclarations fiscales et les demandes de permis.

Avantages : Amélioration de l'efficacité, réduction de la paperasserie et amélioration de l'expérience globale des citoyens.

5. Vérification d'identité dans le secteur de la santé :

Cas d'utilisation : Les prestataires de soins de santé utilisent l'OCR pour lire les informations contenues dans les cartes d'identité des patients, les cartes d'assurance et d'autres documents d'identité afin d'assurer l'exactitude des dossiers des patients.

Avantages : Facilite l'identification précise des patients, assure une bonne gestion des dossiers médicaux et soutient les processus de facturation.

6. Enregistrement automatisé à l'hôtel :

Cas d'utilisation : Les hôtels mettent en œuvre l'OCR pour automatiser les processus d'enregistrement en scannant les documents d'identité des clients, ce qui rationalise le processus d'enregistrement.

Avantages : Améliore l'expérience des clients, réduit le temps d'enregistrement et minimise les erreurs dans la saisie des informations sur les clients.

7. Villes intelligentes et services publics :

Cas d'utilisation : L'OCR est appliquée dans les initiatives de villes intelligentes pour lire les documents d'identité pour des services tels que l'accès aux transports publics, l'adhésion à la bibliothèque et l'inscription aux événements de la ville.

Avantages : Améliore l'efficacité des services publics, facilite l'accès sans rupture et améliore l'expérience de la vie urbaine.

8. Administration de l'éducation :

Cas d'utilisation : Les établissements d'enseignement utilisent l'OCR pour traiter et vérifier les documents d'identité lors de l'admission des étudiants, des examens et de la délivrance des diplômes.

Avantages : Garantit l'exactitude des dossiers des étudiants, réduit la charge administrative et renforce l'intégrité des processus académiques.

Conclusion

L'intégration de la technologie OCR dans votre application C# à l'aide de IronOCR vous permet d'extraire efficacement des informations des documents d'identité. Ce guide complet fournit les étapes nécessaires pour configurer votre projet et utiliser IronOCR pour lire et traiter les images de documents d'identité. Expérimentez les exemples de code pour adapter le processus d'extraction à vos besoins spécifiques, afin de disposer d'une solution transparente et automatisée pour le traitement des données relatives aux documents d'identité.

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. Tout en poursuivant ses études, Kannapat est également devenu membre du Vehicle Robotics Laboratory, qui fait partie du Department of Bioproduction Engineering (département d'ingénierie de la bioproduction). En 2022, il a mis à profit ses compétences en C# pour rejoindre l'équipe d'ingénieurs d'Iron Software, où il se concentre sur IronPDF. Kannapat apprécie son travail car il apprend directement auprès du développeur qui écrit la majeure partie du code utilisé dans IronPDF. Outre l'apprentissage par les pairs, Kannapat apprécie l'aspect social du travail chez Iron Software. Lorsqu'il n'écrit pas de code ou de documentation, Kannapat peut généralement être trouvé en train de jouer sur sa PS5 ou de revoir The Last of Us.
< PRÉCÉDENT
Comment créer une reconnaissance de caractères en C#
SUIVANT >
Comment créer un scanner de reçus OCR en C#