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#

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:
- 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.
- 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.
- 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.
- 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"
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

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
Wyjaśnienie kodu
- Import bibliotek: Najpierw importujemy bibliotekę IronOCR do kodu źródłowego oraz inne niezbędne biblioteki.
- Utworzenie instancji silnika OCR: Tworzymy nowy obiekt
IronTesseractw celu zainicjowania silnika OCR. - Załaduj zdjęcie paszportu: Następnie tworzymy nowy
OcrInputi ładujemy zdjęcie zawierające paszport za pomocąAddImage(). - Odczytanie paszportu za pomocą OCR: Używamy metody
Read()do przeprowadzenia operacji OCR na obrazku wejściowym i zapisania wyniku. - Wyniki: Wyświetlamy wyodrębnione informacje paszportowe, takie jak imiona, kraj, numer paszportu, nazwisko, data urodzenia i data ważności.
Wynik 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:

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
Wyjaśnienie dotyczące debugowania kodu
- Pewność: Właściwość
ConfidencewOcrResultjest 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. - Tekst: Właściwość
TextwOcrResultzawiera 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

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.



