Passer au contenu du pied de page
UTILISATION D'IRONOCR

SDK OCR pour passeport (Tutoriel pour développeurs)

Un passeport est l'identité d'un individu ; nous utilisons des passeports pour voyager et enregistrer des aspects essentiels de notre vie. Cependant, le format du passeport n'est pas toujours facile à lire. Imaginez que de nombreux voyageurs apparaissent soudainement pendant la période des fêtes de fin d'année pour les voyages et les loisirs. Comment les agents d'immigration peuvent-ils traiter cette grande quantité de données avec une saisie manuelle et récupérer manuellement les informations correctes ?

C'est pourquoi de nombreuses applications et entreprises se tournent vers la reconnaissance optique de caractères (OCR), qui permet aux développeurs d'extraire rapidement du texte imprimé et des images numériques.

De même, Passport OCR est une technologie qui utilise un logiciel de reconnaissance optique de caractères (OCR) pour extraire des informations significatives des passeports ; il utilise également la zone de lecture automatique de tous les passeports pour extraire des informations permettant d'identifier rapidement la personne qui tente de passer l'immigration. Dans les scénarios où vous devez reconnaître rapidement des informations sur les passeports ou dans un processus impliquant l'automatisation de l'extraction de données sur les passeports, Passport OCR est vital et constitue la pierre angulaire de l'efficacité et de la rapidité dans les aéroports et aux frontières de l'immigration.

Bien que la technologie et les logiciels d'OCR pour passeports aient évolué au fil des ans, divers facteurs peuvent affecter le processus de numérisation des documents. Les images numériques avec du bruit ou des taches sur le passeport peuvent fortement affecter la précision du passeport. En outre, les bibliothèques OCR peuvent parfois prêter à confusion lorsqu'elles fonctionnent sur un passeport, car la zone lisible par machine est un ensemble de données structurées unique. Les développeurs peuvent être en mesure d'extraire des données mais doivent trier les paramètres de manière indépendante. Cependant, avec IronOcr, des méthodes spécialisées sont optimisées pour la lecture des passeports ; les résultats de la traduction permettent aux développeurs d'obtenir et de manipuler rapidement les informations, ce qui est idéal pour la numérisation et l'automatisation de gros volumes.

Dans cet article, nous aborderons brièvement l'utilisation d'IronOcr pour obtenir et manipuler les informations du passeport afin d'automatiser l'extraction des données, et nous fournirons plus de détails sur la façon dont IronOCR interagit avec le passeport.

IronOCR : Une bibliothèque C# OCR

Passport OCR SDK (Developer Tutorial) : Figure 1 - IronOCR : une bibliothèque OCR en C#

IronOCR est une bibliothèque C# qui offre des méthodes faciles à utiliser et des fonctionnalités flexibles pour tous les besoins liés à l'OCR. En plus des techniques standard, IronOcr permet aux développeurs d'utiliser et de personnaliser entièrement une version de Tesseract pour réaliser toutes les tâches connexes.

Vous trouverez ci-dessous un bref aperçu de ses principales caractéristiques :

  1. Compatibilité transversale: IronOCR est compatible avec la plupart des plateformes .NET, notamment .NET 8, 7, 6 et 5, et prend en charge .NET Framework 4.6.2 et plus. Avec cette bibliothèque, les développeurs n'ont pas à se soucier de la compatibilité croisée, car elle prend également en charge tous les systèmes d'exploitation, de Windows à macOS en passant par Azure et même Linux.
  2. Flexibilité: Les entrées OCR se présentent sous de nombreux formats, de sorte qu'une bibliothèque doit gérer toutes sortes de formats pour être vraiment flexible. IronOcr accepte tous les formats d'image courants (jpg, png et gif) tout en prenant en charge le format natif "System.Drawing.Objects" de C#, ce qui permet une intégration plus facile dans les bases de code existantes.
  3. Support et facilité d'utilisation: IronOCR est bien documenté, avec une API complète et des tutoriels indiquant toutes les formes de fonctionnalité. En outre, l'assistance est assurée 24 heures sur 24 et 5 jours sur 5, ce qui permet aux développeurs de bénéficier d'un soutien permanent.
  4. Prise en charge de plusieurs langues : IronOCR prend en charge jusqu'à 125 langues et prend également en charge les langues personnalisées, ce qui le rend polyvalent pour tous les traitements de documents internationaux.

Lire le passeport avec IronOCR

Clé de licence

N'oubliez pas qu'IronOCR nécessite une clé de licence pour fonctionner. Vous pouvez obtenir une clé dans le cadre d'un essai gratuit en visitant ce link.

// Replace the license key variable with the trial key you obtained
IronOcr.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
// Replace the license key variable with the trial key you obtained
IronOcr.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
' Replace the license key variable with the trial key you obtained
IronOcr.License.LicenseKey = "REPLACE-WITH-YOUR-KEY"
$vbLabelText   $csharpLabel

Après avoir reçu une clé d'évaluation, définissez cette variable dans votre projet.

Exemple de code

Le code ci-dessous montre comment IronOcr prend une image de passeport et extrait toutes les informations pertinentes à l'aide du SDK OCR de passeport de la bibliothèque.

Image d'entrée

Passport OCR SDK (Developer Tutorial) : Figure 2 - Image d'entrée

using IronOcr;
using System;

class Program {
    public static void Main() {
        // Instantiate OCR engine
        var ocr = new IronTesseract();
        using var inputPassport = new OcrInput();
        inputPassport.AddImage("Passport.jpg");

        // Perform OCR to read the passport
        OcrResult result = ocr.Read(inputPassport);

        // Output passport information
        Console.WriteLine("Given Names: " + result.Passport?.GivenNames);
        Console.WriteLine("Country: " + result.Passport?.Country);
        Console.WriteLine("Passport Number: " + result.Passport?.PassportNumber);
        Console.WriteLine("Surname: " + result.Passport?.Surname);
        Console.WriteLine("Date of Birth: " + result.Passport?.DateOfBirth.ToString("yyyy-MM-dd"));
        Console.WriteLine("Date of Expiry: " + result.Passport?.DateOfExpiry.ToString("yyyy-MM-dd"));
    }
}
using IronOcr;
using System;

class Program {
    public static void Main() {
        // Instantiate OCR engine
        var ocr = new IronTesseract();
        using var inputPassport = new OcrInput();
        inputPassport.AddImage("Passport.jpg");

        // Perform OCR to read the passport
        OcrResult result = ocr.Read(inputPassport);

        // Output passport information
        Console.WriteLine("Given Names: " + result.Passport?.GivenNames);
        Console.WriteLine("Country: " + result.Passport?.Country);
        Console.WriteLine("Passport Number: " + result.Passport?.PassportNumber);
        Console.WriteLine("Surname: " + result.Passport?.Surname);
        Console.WriteLine("Date of Birth: " + result.Passport?.DateOfBirth.ToString("yyyy-MM-dd"));
        Console.WriteLine("Date of Expiry: " + result.Passport?.DateOfExpiry.ToString("yyyy-MM-dd"));
    }
}
Imports IronOcr
Imports System

Friend Class Program
	Public Shared Sub Main()
		' Instantiate OCR engine
		Dim ocr = New IronTesseract()
		Dim inputPassport = New OcrInput()
		inputPassport.AddImage("Passport.jpg")

		' Perform OCR to read the passport
		Dim result As OcrResult = ocr.Read(inputPassport)

		' Output passport information
		Console.WriteLine("Given Names: " & result.Passport?.GivenNames)
		Console.WriteLine("Country: " & result.Passport?.Country)
		Console.WriteLine("Passport Number: " & result.Passport?.PassportNumber)
		Console.WriteLine("Surname: " & result.Passport?.Surname)
		Console.WriteLine("Date of Birth: " & result.Passport?.DateOfBirth.ToString("yyyy-MM-dd"))
		Console.WriteLine("Date of Expiry: " & result.Passport?.DateOfExpiry.ToString("yyyy-MM-dd"))
	End Sub
End Class
$vbLabelText   $csharpLabel

Explication du code

  1. Importer les bibliothèques : Nous commençons par importer IronOCR dans la base de code et d'autres bibliothèques nécessaires.
  2. Instaurer le moteur OCR: Nous créons un nouvel objet IronTesseract pour initialiser le moteur OCR.
  3. Charge de l'image du passeport: Nous créons ensuite un nouveau OcrInput et chargeons l'image contenant le passeport à l'aide de AddImage().
  4. Lire un passeport à l'aide de l'OCR: Nous utilisons la méthode Read() pour effectuer l'opération d'OCR sur l'image d'entrée et enregistrer le résultat.
  5. Résultats : Nous produisons les informations extraites du passeport telles que les prénoms, le pays, le numéro de passeport, le nom de famille, la date de naissance et la date d'expiration.

Sortie console

Passport OCR SDK (Developer Tutorial) : Figure 3 - Sortie de la console

Zone de lecture automatique

IronOcr peut extraire les informations de la zone lisible par machine (MRZ) des deux rangées inférieures de n'importe quel passeport en suivant la norme de l'Organisation de l'aviation civile internationale (OACI). Les données MRZ comprennent deux lignes, chacune contenant des informations uniques.

Voici un bref tableau :

Passport OCR SDK (Developer Tutorial) : Figure 4 - Tableau des MRZ

Défis pour l'OCR des passeports et le débogage

La qualité de l'image est toujours un problème lors de la numérisation d'images numériques. Une image déformée masquerait les informations et rendrait plus difficile la confirmation de l'exactitude des données. En outre, les développeurs doivent tenir compte de la sécurité des données et de la conformité lorsqu'ils traitent des informations critiques telles qu'un passeport.

IronOCR permet également de déboguer et de présenter le concept pour obtenir des informations sur l'interaction. Ces méthodes permettent aux développeurs de résoudre les problèmes et d'avoir confiance dans les données extraites.

En voici un bref exemple :

using IronOcr;
using System;

class DebugExample {
    public static void Main() {
        // Instantiate OCR engine
        var ocr = new IronTesseract();
        using var inputPassport = new OcrInput();
        inputPassport.AddImage("Passport.jpg");

        // Perform OCR
        OcrResult result = ocr.Read(inputPassport);

        // Output Confidence level and raw extracted text
        Console.WriteLine("OCR Confidence: " + result.Confidence);
        Console.WriteLine("Extracted Text: ");
        Console.WriteLine(result.Text);
    }
}
using IronOcr;
using System;

class DebugExample {
    public static void Main() {
        // Instantiate OCR engine
        var ocr = new IronTesseract();
        using var inputPassport = new OcrInput();
        inputPassport.AddImage("Passport.jpg");

        // Perform OCR
        OcrResult result = ocr.Read(inputPassport);

        // Output Confidence level and raw extracted text
        Console.WriteLine("OCR Confidence: " + result.Confidence);
        Console.WriteLine("Extracted Text: ");
        Console.WriteLine(result.Text);
    }
}
Imports IronOcr
Imports System

Friend Class DebugExample
	Public Shared Sub Main()
		' Instantiate OCR engine
		Dim ocr = New IronTesseract()
		Dim inputPassport = New OcrInput()
		inputPassport.AddImage("Passport.jpg")

		' Perform OCR
		Dim result As OcrResult = ocr.Read(inputPassport)

		' Output Confidence level and raw extracted text
		Console.WriteLine("OCR Confidence: " & result.Confidence)
		Console.WriteLine("Extracted Text: ")
		Console.WriteLine(result.Text)
	End Sub
End Class
$vbLabelText   $csharpLabel

Explication du code de débogage

  1. Confiance: La propriété Confidence du OcrResult est un nombre à virgule flottante représentant la confiance dans la précision statistique de l'OCR, calculée comme une moyenne de chaque caractère. Une valeur inférieure indique que l'image du passeport peut être floue ou contenir des informations supplémentaires. Un représente le niveau de confiance le plus élevé, tandis que zéro représente le niveau le plus bas.
  2. Text: La propriété Text du OcrResult contient le texte non traité extrait de l'image du passeport. Les développeurs peuvent l'utiliser dans des tests unitaires pour valider le texte extrait de l'image du passeport en effectuant des assertions égales.

Conclusion

Passport OCR SDK (Developer Tutorial) : Figure 5 - IronOCR

La technologie OCR de Passport améliore considérablement le traitement des documents en automatisant l'extraction des données et en améliorant l'efficacité opérationnelle. La traduction doit rester professionnelle et préserver l'exactitude technique tout en expliquant les caractéristiques et les avantages de ces outils de développement. Les frontières de l'immigration et les aéroports peuvent réduire le temps de traitement et améliorer l'efficacité du flux de travail en choisissant IronOCR comme API d'OCR pour les passeports.

IronOCR offre aux développeurs flexibilité et évolutivité grâce à ses méthodes faciles à utiliser. Il permet aux développeurs de trier rapidement les informations grâce à l'objet OcrResult. En outre, IronOcr fournit des outils de débogage, notamment des niveaux de confiance et du texte brut non analysé, que les développeurs peuvent utiliser dans les tests unitaires des produits. IronOcr minimise également le bruit numérique manuellement pour une utilisation plus avancée en effaçant l'entrée de l'image du passeport avant de la faire passer par la méthode.

N'hésitez pas à profiter de la page licence d'essai gratuite d'IronOCR.

Questions Fréquemment Posées

Comment puis-je utiliser l'OCR pour extraire les informations des passeports en C# ?

Vous pouvez utiliser IronOCR pour extraire les informations de passeport en traitant les images de passeports et en extrayant les données de la zone lisible par machine grâce à ses capacités OCR puissantes.

Quels sont les avantages de l'utilisation de l'OCR pour le traitement des données de passeport ?

L'OCR pour le traitement des données de passeport automatise l'extraction d'informations, augmentant considérablement l'efficacité et la précision dans les zones à fort trafic comme les aéroports et les contrôles frontaliers.

Est-il possible de traiter plusieurs langues avec la technologie OCR ?

Oui, IronOCR prend en charge jusqu'à 125 langues et permet l'ajout de langues personnalisées, ce qui le rend polyvalent pour le traitement de documents internationaux.

Comment IronOCR assure-t-il une extraction précise des données des passeports ?

IronOCR offre une propriété 'Confidence' dans OcrResult permettant de vérifier la fiabilité des données extraites.

Quels formats d'image sont pris en charge par IronOCR pour la numérisation des passeports ?

IronOCR prend en charge tous les formats d'image populaires, y compris jpg, png et gif, et il peut également fonctionner avec les objets System.Drawing.Objects natifs de C# pour une intégration facile.

Quels défis les développeurs pourraient-ils rencontrer avec la mise en œuvre de l'OCR de passeport ?

Les défis incluent la gestion des images de mauvaise qualité, la garantie de la sécurité des données et la conformité avec le traitement des informations sensibles des passeports.

Comment les développeurs peuvent-ils commencer à utiliser IronOCR pour l'OCR de passeport ?

Les développeurs peuvent commencer à utiliser IronOCR en obtenant une clé de licence d'essai sur le site Web du fournisseur et en suivant la documentation détaillée pour l'intégrer dans leurs applications C#.

Quelles plateformes sont compatibles avec IronOCR ?

IronOCR est compatible avec la plupart des plateformes .NET, y compris .NET 8, 7, 6 et 5, ainsi que .NET Framework 4.6.2 et plus, et prend en charge les principaux systèmes d'exploitation comme Windows, macOS, Azure et Linux.

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