Przejdź do treści stopki
KORZYSTANIE Z IRONOCR

SDK OCR do paszportów (Samouczek dla deweloperów)

Paszport jest dokumentem tożsamości danej osoby; używamy paszportów do podróżowania i rejestrowania istotnych aspektów naszego życia. Jednak format paszportowy nie zawsze jest łatwy do odczytania. Wyobraź sobie, że w sezonie świątecznym nagle pojawia się wielu podróżnych, którzy chcą podróżować i spędzać wolny czas. W jaki sposób urzędnicy imigracyjni mogą poradzić sobie z tak dużą ilością danych przy ręcznym wprowadzaniu danych i ręcznie wyszukiwać właściwe informacje?

Dlatego wiele aplikacji i przedsiębiorstw sięga po optyczne rozpoznawanie znaków (OCR), które pozwala programistom na szybkie wyodrębnianie tekstu drukowanego i obrazów cyfrowych.

Podobnie Passport OCR to technologia wykorzystująca oprogramowanie do optycznego rozpoznawania znaków (OCR) w celu wyodrębniania istotnych informacji z paszportów; Wykorzystuje również strefę odczytywaną maszynowo we wszystkich paszportach w celu pobrania informacji umożliwiających szybką identyfikację osoby próbującej przejść przez kontrolę imigracyjną. W sytuacjach, w których konieczne jest szybkie rozpoznanie informacji zawartych w paszporcie lub w procesie obejmującym automatyczne pozyskiwanie danych z paszportów, Passport OCR ma kluczowe znaczenie i stanowi podstawę wydajności oraz szybkości działania na lotniskach i przejściach granicznych.

Chociaż oprogramowanie i technologia Passport OCR rozwijały się przez lata, na proces skanowania dokumentów mogą wpływać różne czynniki. Obrazy cyfrowe z zakłóceniami lub smugami na paszporcie mogą znacznie wpłynąć na dokładność paszportu. Ponadto biblioteki OCR mogą czasami powodować niejasności podczas pracy z paszportem, ponieważ strefa odczytu maszynowego stanowi unikalny zestaw danych strukturalnych. Programiści mogą być w stanie wyodrębnić dane, ale muszą samodzielnie posortować parametry. Jednak w przypadku IronOCR specjalistyczne metody są zoptymalizowane pod kątem odczytu paszportów; Jego wyniki pozwalają programistom na szybkie uzyskiwanie i przetwarzanie informacji, co idealnie sprawdza się przy skanowaniu dużych ilości danych i automatyzacji.

W tym artykułe omówimy pokrótce wykorzystanie IronOCR do pozyskiwania i przetwarzania informacji z paszportów w celu zautomatyzowania ekstrakcji danych oraz przedstawimy dalsze szczegóły dotyczące interakcji IronOCR z paszportem.

IronOCR: biblioteka IronOCR w języku C#

Passport OCR SDK (samouczek dla programistów): Rysunek 1 — IronOCR: biblioteka OCR w języku C#

Biblioteka IronOCR w języku C# oferuje łatwe w użyciu metody i elastyczną funkcjonalność dla wszystkich potrzeb związanych z OCR. Oprócz standardowych technik, IronOCR pozwala programistom w pełni wykorzystać i dostosować wersję Tesseracta do realizacji wszystkich powiązanych zadań.

Poniżej znajduje się krótkie podsumowanie jego najważniejszych funkcji:

  1. Kompatybilność międzyplatformowa: IronOCR jest kompatybilny z większością platform .NET, w tym .NET 8, 7, 6 i 5, oraz obsługuje .NET Framework 4.6.2 i nowsze wersje. Dzięki tej bibliotece programiści nie muszą martwić się o kompatybilność, ponieważ obsługuje ona wszystkie systemy operacyjne, od Windows, przez macOS, aż po Azure, a nawet Linux.
  2. Elastyczność: Dane wejściowe OCR występują w wielu formatach, więc biblioteka musi obsługiwać wszystkie rodzaje formatów, aby być naprawdę elastyczna. IronOCR akceptuje wszystkie popularne formaty obrazów (jpg, png i gif), obsługując jednocześnie natywny interfejs "System.Drawing.Objects" z języka C#, co pozwala na łatwiejszą integrację z istniejącymi kodami źródłowymi.
  3. Wsparcie i łatwość użytkowania: IronOCR jest dobrze udokumentówany, a obszerne API i samouczki opisują wszystkie jego funkcje. Ponadto zapewniono wsparcie techniczne przez 24 godziny na dobę, 5 dni w tygodniu, dzięki czemu programiści zawsze mogą liczyć na pomoc.
  4. Obsługa wielu języków: IronOCR obsługuje do 125 języków, a także języki niestandardowe, co czyni go wszechstronnym narzędziem do przetwarzania dokumentów na całym świecie.

Odczytywanie paszportu za pomocą IronOCR

Klucz licencyjny

Należy pamiętać, że do działania programu IronOCR wymagańy jest klucz licencyjny. Klucz można uzyskać w ramach bezpłatnej wersji próbnej, odwiedzając ten 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

Po otrzymaniu klucza próbnego ustaw tę zmienną w swoim projekcie.

Przykład kodu

Poniższy kod pokazuje, w jaki sposób IronOCR pobiera obraz paszportu i wyodrębnia wszystkie istotne informacje przy użyciu biblioteki Passport OCR SDK.

Obraz wejściowy

Passport OCR SDK (samouczek dla programistów): Rysunek 2 – Obraz wejściowy

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

Wyjaśnienie kodu

  1. Import bibliotek: Najpierw importujemy bibliotekę IronOCR do kodu źródłowego oraz inne niezbędne biblioteki.
  2. Utworzenie instancji silnika OCR: Tworzymy nowy obiekt IronTesseract w celu zainicjowania silnika OCR.
  3. Załaduj zdjęcie paszportu: Następnie tworzymy nowy OcrInput i ładujemy zdjęcie zawierające paszport za pomocą AddImage().
  4. Odczytanie paszportu za pomocą OCR: Używamy metody Read() do przeprowadzenia operacji OCR na obrazku wejściowym i zapisania wyniku.
  5. Wyniki: Wyświetlamy wyodrębnione informacje paszportowe, takie jak imiona, kraj, numer paszportu, nazwisko, data urodzenia i data ważności.

Wynik konsoli

Passport OCR SDK (samouczek dla programistów): Rysunek 3 — Wynik w konsoli

Strefa odczytywalna maszynowo

IronOCR może wyodrębnić informacje z obszaru rozpoznawalnego maszynowo (MRZ) z dwóch dolnych wierszy dowolnego paszportu zgodnego ze standardem Międzynarodowej Organizacji Lotnictwa Cywilnego (ICAO). Dane MRZ składają się z dwóch wierszy, z których każdy zawiera unikalne informacje.

Oto krótka tabela na ten temat:

Passport OCR SDK (samouczek dla programistów): Rysunek 4 – Tabela MRZ

Wyzwania związane z Passport OCR i debugowaniem

Jakość obrazu jest zawsze problemem podczas skanowania obrazów cyfrowych. Zniekształcona jakość obrazu utrudniłaby odczytanie informacji i sprawiłaby, że trudniej byłoby potwierdzić dokładność danych. Ponadto programiści muszą brać pod uwagę bezpieczeństwo danych i zgodność z przepisami podczas pracy z informacjami o znaczeniu krytycznym, takimi jak dane paszportowe.

IronOCR zapewnia również sposób na debugowanie i prezentację koncepcji informacji o interakcji. Metody te pozwalają programistom na rozwiązywanie problemów i zapewniają pewność co do wyodrębnionych danych.

Oto krótki przykład:

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

Wyjaśnienie dotyczące debugowania kodu

  1. Pewność: Właściwość Confidence w OcrResult jest liczbą zmiennoprzecinkową reprezentującą statystyczną pewność dokładności OCR, obliczoną jako średnia dla każdego znaku. Niższa wartość oznacza, że zdjęcie paszportowe może być rozmyte lub zawierać dodatkowe informacje. Jedynka oznacza najwyższy poziom pewności, a zero – najniższy.
  2. Tekst: Właściwość Text w OcrResult zawiera nieprzetworzony tekst wyodrębniony z obrazu paszportu. Programiści mogą używać go w testach jednostkowych do sprawdzania poprawności tekstu wyodrębnionego z obrazu paszportu poprzez stosowanie asercji równości.

Wnioski

Passport OCR SDK (samouczek dla programistów): Rysunek 5 — IronOCR

Technologia Passport OCR znacznie usprawnia przetwarzanie dokumentów poprzez automatyzację ekstrakcji danych i poprawę wydajności operacyjnej. Usprawnia procesy weryfikacji tożsamości i KYC, zapewniając wysoką dokładność podczas przetwarzania wrażliwych danych osobowych. Urzędy imigracyjne i lotniska mogą skrócić czas przetwarzania i poprawić wydajność pracy, wybierając IronOCR jako API do rozpoznawania paszportów.

IronOCR zapewnia programistom elastyczność i skalowalność dzięki łatwym w użyciu metodom. Pozwala to programistom na szybkie sortowanie informacji za pomocą obiektu OcrResult. Ponadto IronOCR zapewnia narzędzia do debugowania, w tym poziomy pewności i surowy, nieprzetworzony tekst, które programiści mogą wykorzystać w testach jednostkowych produktów. IronOCR minimalizuje również ręcznie szum cyfrowy w celu bardziej zaawansowanego wykorzystania, oczyszczając obraz paszportu przed przekazaniem go do metody.

Zapraszamy do skorzystania z bezpłatnej licencji próbnej IronOCR.

Często Zadawane Pytania

Jak mogę użyć OCR do wyodrębniania informacji z paszportów w języku C#?

Możesz użyć IronOCR do wyodrębnienia informacji z paszportu poprzez przetwarzanie obrazów paszportów i wyodrębnianie danych ze strefy nadającej się do odczytu maszynowego przy użyciu jego potężnych możliwości OCR.

Jakie są zalety stosowania OCR do przetwarzania danych paszportowych?

OCR do przetwarzania danych paszportowych automatyzuje pozyskiwanie informacji, znacznie zwiększając wydajność i dokładność w miejscach o dużym natężeniu ruchu, takich jak lotniska i punkty kontroli granicznej.

Czy technologia OCR umożliwia przetwarzanie wielu języków?

Tak, IronOCR obsługuje do 125 języków i umożliwia dodawanie języków niestandardowych, dzięki czemu jest wszechstronnym narzędziem do przetwarzania dokumentów międzynarodowych.

W jaki sposób IronOCR zapewnia dokładne wyodrębnianie danych z paszportów?

IronOCR udostępnia w klasie OcrResult właściwość „Confidence”, która wskazuje dokładność statystyczną, umożliwiając programistom weryfikację wiarygodności wyodrębnionych danych.

Jakie formaty obrazów obsługuje IronOCR do skanowania paszportów?

IronOCR obsługuje wszystkie popularne formaty obrazów, w tym jpg, png i gif, a także może współpracować z natywnymi obiektami C# System.Drawing.Objects, co ułatwia integrację.

Jakie wyzwania mogą napotkać programiści podczas wdrażania Passport OCR?

Wyzwania obejmują radzenie sobie z obrazami niskiej jakości, zapewnienie bezpieczeństwa danych oraz zgodność z przepisami dotyczącymi przetwarzania wrażliwych danych paszportowych.

Jak programiści mogą rozpocząć korzystanie z IronOCR do rozpoznawania paszportów?

Programiści mogą rozpocząć korzystanie z IronOCR, pobierając klucze Licencji Trial ze strony internetowej dostawcy i postępując zgodnie ze szczegółową dokumentacją, aby zintegrować go ze swoimi aplikacjami C#.

Jakie platformy są kompatybilne z IronOCR?

IronOCR jest kompatybilny z większością platform .NET, w tym .NET 8, 7, 6 i 5, a także .NET Framework 4.6.2 i nowszymi wersjami, oraz obsługuje główne systemy operacyjne, takie jak Windows, macOS, Azure i Linux.

Kannaopat Udonpant
Inżynier oprogramowania
Zanim stał się inżynierem oprogramowania, Kannapat ukończył doktorat z zasobów środowiskowych na Uniwersytecie Hokkaido w Japonii. W czasie studiowania, Kannapat również został członkiem Laboratorium Robotyki Pojazdów, które jest częścią Wydziału Inżynierii Bioprodukcji. W 2022 roku wykorzystał swoje umiejętności w ...
Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie