Zum Fußzeileninhalt springen
VERWENDUNG VON IRONOCR

Passport OCR SDK (Entwickler-Tutorial)

Ein Reisepass ist die Identität einer Person; wir benutzen Pässe, um zu reisen und wichtige Aspekte unseres Lebens zu registrieren. Das Format des Reisepasses ist jedoch nicht immer leicht zu lesen. Stellen Sie sich vor, dass in der Ferienzeit plötzlich viele Reisende auftauchen, um zu verreisen und ihre Freizeit zu verbringen. Wie können die Einwanderungsbeamten diese große Datenmenge mit manueller Dateneingabe bewältigen und die richtigen Informationen manuell abrufen?

Daher greifen viele Anwendungen und Unternehmen auf die optische Zeichenerkennung (OCR) zurück, mit der Entwickler gedruckten Text und digitale Bilder schnell extrahieren können.

Passport OCR ist eine Technologie, die optische Zeichenerkennung (OCR) verwendet, um aussagekräftige Informationen aus Pässen zu extrahieren; sie nutzt auch die maschinenlesbare Zone für alle Pässe, um Informationen zur schnellen Identifizierung der Person, die die Einwanderungsbehörde passieren will, abzurufen. In Szenarien, in denen Passinformationen schnell erkannt werden müssen, oder in einem Prozess, der die Automatisierung der Passdatenextraktion beinhaltet, ist Pass OCR von entscheidender Bedeutung und bildet den Eckpfeiler für Effizienz und Geschwindigkeit an Flughäfen und Grenzübergängen.

Obwohl sich die OCR-Software und -Technologie für Reisepässe im Laufe der Jahre immer weiter entwickelt hat, können verschiedene Faktoren den Scanprozess von Dokumenten beeinträchtigen. Digitale Bilder mit Rauschen oder Flecken auf dem Ausweis können die Genauigkeit des Ausweises stark beeinträchtigen. Außerdem können OCR-Bibliotheken manchmal verwirrend sein, wenn sie mit einem Reisepass arbeiten, da die maschinenlesbare Zone ein eindeutig strukturierter Datensatz ist. Die Entwickler können zwar Daten extrahieren, müssen aber die Parameter selbständig sortieren. Mit IronOCR werden jedoch spezielle Methoden für das Lesen von Pässen optimiert; die Ergebnisse ermöglichen es den Entwicklern, die Informationen schnell abzurufen und zu bearbeiten, was ideal für das Scannen und Automatisieren großer Mengen ist.

In diesem Artikel wird kurz auf die Verwendung von IronOCR eingegangen, um Passport-Informationen zu erhalten und zu bearbeiten, um die Datenextraktion zu automatisieren, und es werden weitere Einzelheiten zur Interaktion von IronOCR mit dem Pass erläutert.

IronOCR: Eine C# OCR-Bibliothek

Passport OCR SDK (Developer Tutorial): Abbildung 1 - IronOCR: Eine C# OCR-Bibliothek

IronOCR ist eine C#-Bibliothek, die einfach zu verwendende Methoden und flexible Funktionen für alle OCR-bezogenen Anforderungen bietet. Zusätzlich zu den Standardtechniken ermöglicht IronOCR den Entwicklern, eine Version von Tesseract vollständig zu nutzen und anzupassen, um alle damit verbundenen Aufgaben zu erfüllen.

Nachfolgend finden Sie eine kurze Übersicht über die wichtigsten Funktionen:

  1. Kompatibilität: IronOCR ist mit den meisten .NET-Plattformen kompatibel, einschließlich .NET 8, 7, 6 und 5, und unterstützt .NET Framework 4.6.2 aufwärts. Mit dieser Bibliothek müssen sich die Entwickler keine Sorgen um die Kompatibilität machen, da sie alle Betriebssysteme unterstützt, von Windows über macOS bis hin zu Azure und sogar Linux.
  2. Flexibilität: OCR-Eingaben kommen in vielen Formaten vor, so dass eine Bibliothek alle Arten von Formaten verarbeiten muss, um wirklich flexibel zu sein. IronOCR akzeptiert alle gängigen Bildformate (jpg, png und gif) und unterstützt gleichzeitig die nativen "System.Drawing.Objects" von C#, was die Integration in bestehende Codebasen erleichtert.
  3. Support und Benutzerfreundlichkeit: IronOCR ist gut dokumentiert und verfügt über eine umfangreiche API und Tutorials, die alle Funktionen erläutern. Außerdem gibt es einen 24/5-Support, der sicherstellt, dass die Entwickler immer unterstützt werden.
  4. Mehrfache Sprachunterstützung: IronOCR unterstützt bis zu 125 Sprachen und auch benutzerdefinierte Sprachen, was es vielseitig für die gesamte internationale Dokumentenverarbeitung macht.

Lesen des Reisepasses mit IronOCR

Lizenzschlüssel

Bitte denken Sie daran, dass IronOCR für den Betrieb einen Lizenzierungsschlüssel benötigt. Sie können einen Schlüssel als Teil einer kostenlosen Testversion erhalten, indem Sie diesen Link besuchen.

// 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

Nachdem Sie einen Testschlüssel erhalten haben, setzen Sie diese Variable in Ihrem Projekt.

Codebeispiel

Der folgende Code zeigt, wie IronOCR ein Passbild nimmt und alle relevanten Informationen mit dem Pass OCR SDK der Bibliothek extrahiert.

Eingabebild

Passport OCR SDK (Developer Tutorial): Abbildung 2 - Eingabebild

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

Code-Erklärung

  1. Bibliotheken importieren: Zuerst importieren wir IronOCR in die Codebasis und andere notwendige Bibliotheken.
  2. OCR-Engine initialisieren: Wir erstellen ein neues IronTesseract Objekt, um die OCR-Engine zu initialisieren.
  3. Bild des Reisepasses laden: Anschließend erstellen wir einen neuen OcrInput und laden das Bild, das den Reisepass enthält, mit AddImage().
  4. Read Passport Using OCR: Wir verwenden die Methode Read(), um die OCR-Operation auf dem Eingabebild durchzuführen und das Ergebnis zu speichern.
  5. Ausgabeergebnisse: Wir geben die extrahierten Passinformationen wie Vornamen, Land, Passnummer, Nachname, Geburtsdatum und Ablaufdatum aus.

Konsolenausgabe

Passport OCR SDK (Developer Tutorial): Abbildung 3 - Konsolenausgabe

Maschinenlesbarer Bereich

IronOCR kann die Informationen zur maschinenlesbaren Zone (MRZ) aus den unteren beiden Zeilen eines jeden Reisepasses extrahieren, der dem Standard der Internationalen Zivilluftfahrtorganisation (ICAO) entspricht. Die MRZ-Daten bestehen aus zwei Zeilen, die jeweils eindeutige Informationen enthalten.

Hier ist eine kurze Tabelle dazu:

Passport OCR SDK (Developer Tutorial): Abbildung 4 - Tabelle der MRZ

Herausforderungen für Pass OCR und Debugging

Die Bildqualität ist beim Scannen digitaler Bilder immer ein Problem. Eine verzerrte Bildqualität würde die Informationen verschleiern und es schwieriger machen, die Richtigkeit der Daten zu bestätigen. Außerdem müssen die Entwickler die Datensicherheit und die Einhaltung von Vorschriften berücksichtigen, wenn sie mit geschäftskritischen Informationen wie einem Reisepass arbeiten.

IronOCR bietet auch eine Möglichkeit zur Fehlersuche und zur Präsentation des Konzepts für Interaktionsinformationen. Diese Methoden ermöglichen es Entwicklern, Fehler zu beheben und sich auf die extrahierten Daten zu verlassen.

Hier ist ein kurzes Beispiel dafür:

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

Erläuterung von Debugging-Code

  1. Konfidenz: Die Eigenschaft Konfidenz im OcrResult ist eine Fließkommazahl, die die statistische Konfidenz der OCR darstellt und als Durchschnitt jedes Zeichens berechnet wird. Ein niedrigerer Wert bedeutet, dass das Passbild möglicherweise unscharf ist oder zusätzliche Informationen enthält. Die Eins steht für die höchste Vertrauensstufe, die Null für die niedrigste.
  2. Text: Die Eigenschaft Text im OcrResult enthält den unbearbeiteten Text, der aus dem Passbild extrahiert wurde. Entwickler können sie in Unit-Tests verwenden, um den aus dem Passbild extrahierten Text zu validieren, indem sie gleichwertige Behauptungen aufstellen.

Abschluss

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

Die OCR-Technologie von Passport verbessert die Dokumentenverarbeitung erheblich, indem sie die Datenextraktion automatisiert und die betriebliche Effizienz verbessert. Sie rationalisiert Identitätsüberprüfungs- und KYC-Prozesse und gewährleistet hohe Genauigkeit beim Umgang mit sensiblen persönlichen Informationen. Einwanderungsbehörden und Flughäfen können durch die Wahl von IronOCR als OCR-API für Reisepässe die Bearbeitungszeit verkürzen und die Effizienz der Arbeitsabläufe verbessern.

IronOCR bietet Entwicklern durch seine benutzerfreundlichen Methoden Flexibilität und Skalierbarkeit. Sie ermöglicht es Entwicklern, Informationen schnell über das OcrResult-Objekt zu sortieren. Darüber hinaus bietet IronOCR Debugging-Tools, einschließlich Konfidenzniveaus und rohem, unparsiertem Text, für Entwickler zur Verwendung in Produkt-Unit-Tests. IronOCR minimiert auch das digitale Rauschen manuell für eine fortgeschrittene Nutzung, indem es die Passbild-Eingabe löscht, bevor es die Methode durchläuft.

Nutzen Sie die kostenlose Testlizenz von IronOCR.

Häufig gestellte Fragen

Wie kann ich OCR nutzen, um Informationen aus Pässen in C# zu extrahieren?

Sie können IronOCR verwenden, um Passinformationen zu extrahieren, indem Sie Passbilder verarbeiten und Daten aus der maschinenlesbaren Zone mit seinen leistungsstarken OCR-Fähigkeiten extrahieren.

Was sind die Vorteile der Verwendung von OCR für die Passdatenverarbeitung?

Die OCR für die Passdatenverarbeitung automatisiert die Informationsausgabe und steigert die Effizienz und Genauigkeit erheblich in Bereichen mit hohem Verkehrsaufkommen wie Flughäfen und Grenzkontrollen.

Ist es möglich, mit OCR-Technologie mehrere Sprachen zu verarbeiten?

Ja, IronOCR unterstützt bis zu 125 Sprachen und erlaubt die Hinzufügung von benutzerdefinierten Sprachen, was es vielseitig für die Verarbeitung internationaler Dokumente macht.

Wie stellt IronOCR eine genaue Datenauslesung aus Reisepässen sicher?

IronOCR bietet eine 'Confidence'-Eigenschaft im OcrResult, um die statistische Genauigkeit anzuzeigen, sodass Entwickler die Zuverlässigkeit der extrahierten Daten überprüfen können.

Welche Bildformate werden von IronOCR für das Pass-Scanning unterstützt?

IronOCR unterstützt alle gängigen Bildformate, einschließlich jpg, png und gif, und kann auch mit nativen C# System.Drawing.Objects für eine einfache Integration arbeiten.

Welche Herausforderungen könnten Entwickler bei der Implementierung von Passport OCR gegenüberstehen?

Herausforderungen umfassen den Umgang mit minderwertigen Bildern, die Sicherstellung der Datensicherheit und die Einhaltung der Verarbeitung sensibler Passinformationen.

Wie können Entwickler mit der Verwendung von IronOCR für Passport OCR beginnen?

Entwickler können mit IronOCR beginnen, indem sie einen Testlizenzschlüssel von der Website des Anbieters erhalten und der detaillierten Dokumentation folgen, um es in ihre C#-Anwendungen zu integrieren.

Welche Plattformen sind mit IronOCR kompatibel?

IronOCR ist mit den meisten .NET-Plattformen kompatibel, einschließlich .NET 8, 7, 6, 5 und höher sowie Windows, macOS, Azure und Linux.

Kannaopat Udonpant
Software Ingenieur
Bevor er Software-Ingenieur wurde, absolvierte Kannapat ein PhD in Umweltressourcen an der Hokkaido University in Japan. Während seines Studiums wurde Kannapat auch Mitglied des Vehicle Robotics Laboratory, das Teil der Fakultät für Bioproduktionstechnik ist. Im Jahr 2022 nutzte er seine C#-Kenntnisse, um dem Engineering-Team von Iron Software ...
Weiterlesen