IronOCR ile C#'da Pasaport Verisi Cikar
IronOCR'un ReadPassport yöntemi, pasaport görüntülerinden isimler, pasaport numaraları, doğum tarihleri ve son kullanma tarihleri gibi yapısal verileri tek bir C# kod satırında çıkarır, bu da onu göçmenlik ve güvenlik uygulamaları için ideal hale getirir.
Gocmenlik ve havalimanlarinda check-in gişeleri gibi büyük pasaport hacimlerini günlük olarak işleyen uygulamalar ve sistemler için, hayati seyahat bilgilerini doğru bir şekilde çıkaran güvenilir bir sistem, etkili ve düzenli bir göç sürecini sağlamak açısından çok önemlidir. IronOCR kutuphanesi, pasaport okumaya özel optimize edilmis gelişmiş OCR yetenekleri sunar, Tesseract 5'in altinda makine ogrenimi iyilestirmelerinden yararlanir.
Hizli Başlangic: Tek Satirda Pasaport MRZ Bilgisi Cikar
Bu örnek, bir pasaport görüntüsünü OcrInput ile nasıl yükleyeceğinizi, verileri çıkarmak için ReadPassport() kullanacağınızı ve döndürülen PassportInfo içinden isimler, numara ve tarihler gibi yapılandırılmış alanlara nasıl erişeceğinizi gösterir. Karmaşık kurulum gerekmez—sadece tek bir basit satir. Geleneksel Tesseract uygulamalarının aksine, IronOCR belge çıkarımı için özel olarak tasarlanmış basit bir API sağlar.
-
NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronOcr yükleyin
PM > Install-Package IronOcr -
Bu kod parçasını kopyalayıp çalıştırın.
var passportInfo = new IronOcr.IronTesseract().ReadPassport(new IronOcr.OcrInput("passport.jpg")).PassportInfo; -
Canlı ortamınızda test etmek için dağıtın
Bugün projenizde IronOCR kullanmaya başlayın ücretsiz deneme ile
Minimal Is Akisi (5 adimda)
- Pasaport okutmak icin bir C# kutuphanesi indirin
- Oku icin pasaport görüntüsunu ithal edin
- Belgenin sadece pasaport görüntüsu icerdiğinden emin olun, basliklar veya alt kısımlar olmadan
ReadPassportmetodunu kullanarak görüntüden verileri cikar- Cikarilan pasaport verilerini görüntülemek ve daha fazla manipule etmek icin OcrPassportResult ozelligine erisin
C#'da Pasaport Verisini Nasıl Cikaririm?
Örnek olarak, IronOCR'un islevselligini göstermek icin girdi olarak bir pasaport görüntüsu kullanacagiz. OcrInput kullanarak görüntüyü yükledikten sonra, pasaporttan bilgileri tanımlamak ve çıkarmak için ReadPassport yöntemini kullanabilirsiniz. Bu yöntem, OcrPassportResult nesnesini döndürür ve bu nesne, GivenNames, Country, PassportNumber, Surname, DateOfBirth, DateOfExpiry, Gender, DocumentType, Uyruk, UyrukCode, IssuingCountryCode, PersonalNumber ve DateOfIssue gibi özellikler içerir.
ReadPassport yöntemi, IronOCR'un belge okuma yeteneklerinin bir parçasıdır ve plaka okuma, MICR çekleri ve diğer yapısal belgeler için yöntemler de içerir. Bu yöntem, MRZ (Makineyle Okunabilir Bolge) bolgesini otomatik olarak bulmak ve cikarmak icin gelişmiş bilgisayar goru teknigi kullanir.
- Yöntem şu an yalnızca İngilizce temelli pasaportlar için çalışmaktadır.
- .NET Framework üzerinde gelişmiş tarama yapmak, projenin x64 mimarisi üzerinde çalışmasını gerektirir.
- Mac kullanıcıları için,
ReadPassportyönteminin şu anda girişi otomatik olarak döndürmediğini lütfen unutmayın. Girişi kullanırken, lütfen MRZ'nin her zaman dosyanın alt kısmında oldugundan emin olun; aksi takdirde işlem başarısız olur.
)}]
Hangi Pasaport Görüntü Formatını Kullanmalıyım?
IronOCR, JPG, PNG, TIFF ve BMP'yi içeren çeşitli görüntü formatlarını destekler. Optimal sonuçlar için, pasaport görüntüsunun uygun cozunurluge (en az 300 DPI) ve uygun aydinlatmaya sahip oldugunden emin olun. DPI ayarları, daha düşük kaliteli taramalarla çalışma durumunda ayarlanabilir.
Pasaport Verilerini Cikarmak Icin Hangi Koda İhtiyaçim Var?
Asagidaki örnek, pasaport verilerini cikarma işlemini tam olarak göstermektedir. Birden fazla pasaportu isleyen uygulamalar icin coklu işlem destegi eklemeyi dusunun. Ayrıca uzun süreli işlemler için OCR ilerlemesini takip edebilirsiniz.
:path=/static-assets/ocr/content-code-examples/how-to/read-passport-read-passport.cs
using IronOcr;
using System;
// Instantiate OCR engine
var ocr = new IronTesseract();
using var inputPassport = new OcrInput();
inputPassport.LoadImage("passport.jpg");
// Perform OCR
OcrPassportResult result = ocr.ReadPassport(inputPassport);
// Output passport information
Console.WriteLine(result.PassportInfo.GivenNames);
Console.WriteLine(result.PassportInfo.Country);
Console.WriteLine(result.PassportInfo.PassportNumber);
Console.WriteLine(result.PassportInfo.Surname);
Console.WriteLine(result.PassportInfo.DateOfBirth);
Console.WriteLine(result.PassportInfo.DateOfExpiry);
Console.WriteLine(result.PassportInfo.Gender);
Console.WriteLine(result.PassportInfo.DocumentType);
Console.WriteLine(result.PassportInfo.Nationality);
Console.WriteLine(result.PassportInfo.NationalityCode);
Console.WriteLine(result.PassportInfo.IssuingCountryCode);
Console.WriteLine(result.PassportInfo.PersonalNumber);
Console.WriteLine(result.PassportInfo.DateOfIssue);
Imports IronOcr
Imports System
' Instantiate OCR engine
Dim ocr As New IronTesseract()
Using inputPassport As New OcrInput()
inputPassport.LoadImage("passport.jpg")
' Perform OCR
Dim result As OcrPassportResult = ocr.ReadPassport(inputPassport)
' Output passport information
Console.WriteLine(result.PassportInfo.GivenNames)
Console.WriteLine(result.PassportInfo.Country)
Console.WriteLine(result.PassportInfo.PassportNumber)
Console.WriteLine(result.PassportInfo.Surname)
Console.WriteLine(result.PassportInfo.DateOfBirth)
Console.WriteLine(result.PassportInfo.DateOfExpiry)
Console.WriteLine(result.PassportInfo.Gender)
Console.WriteLine(result.PassportInfo.DocumentType)
Console.WriteLine(result.PassportInfo.Nationality)
Console.WriteLine(result.PassportInfo.NationalityCode)
Console.WriteLine(result.PassportInfo.IssuingCountryCode)
Console.WriteLine(result.PassportInfo.PersonalNumber)
Console.WriteLine(result.PassportInfo.DateOfIssue)
End Using
ReadPassport'tan Hangi Ciktilari Bekleyebilirim?
Cikarilan veriler, mevcut sistemlerle entegre etmeyi kolaylastiran yapılandırilmis bir formatta dondurulur. OcrResult sinifi tüm cikarilan bilgilere kapsamli erişim saglar.
Daha sonra, OcrPassportResult nesnesinden elde edilen PassportInfo veri üyesine erişiyoruz. Çıkartma işlemi otomatik olarak çeşitli pasaport düzenlerini ve formatlarını işler, farklı ülkeler arasında tutarlı sonuçlar sağlar.
GivenNames:PassportInfoözelliği, pasaport girişinin verilen isimlerini bir dize olarak döndürür. Bu, ilk MRZ veri satırı, 4 ile 44 arası konumlara karşılık gelir.Country:PassportInfoözelliği, pasaport girişinin ülkesini bir dize olarak döndürür. Bu, ilk MRZ veri satırı, 2 ile 3 arası konumlara karşılık gelmektedir. Döndürülen dize, kısaltma yerine belirten ülkenin tam adını yazar. Örneğimizde, ABD 'Amerika Birlesik Devletleri'ni döndürür.PassportNumber:PassportInfoözelliği, pasaport girişinin pasaport numarasını bir dize olarak döndürür. Bu, ikinci MRZ veri satırı, 1 ile 9 arası konumlara karşılık gelir.Surname:PassportInfoözelliği, pasaport girişinin soyadını bir dize olarak döndürür. Bu, ilk MRZ veri satırı, 4 ile 44 arası konumlara karşılık gelir.DateOfBirth:PassportInfoözelliği, pasaport girişinin doğum tarihini YYYY-AA-GG formatında bir dize olarak döndürür. Bu, ikinci MRZ veri satırı, 14 ile 19 arası konumlara karşılık gelir.DateOfExpiry:PassportInfoözellik üyesi, pasaport girişinin son kullanma tarihini YYYY-AA-GG formatında bir dize olarak döndürür. Bu, ikinci MRZ veri satırı, 22 ile 27 arası konumlara karşılık gelir.Gender: MRZ pozisyonu 21'denGender.Male,Gender.FemaleveyaGender.Unspecifiedolarak cinsiyeti döndürür.DocumentType: MRZ pozisyonları 1-2'den belge türünü döndürür, pasaport için "P", hizmet için "PS" veya diplomatik için "PD" gibi.Uyruk: MRZ pozisyonları 11-13'ten türetilmiş İngilizce ülke adının tamamını döndürür.UyrukCode: MRZ pozisyonları 11-13'ten ham ISO 3166-1 alfa-3 kodunu döndürür.IssuingCountryCode: MRZ pozisyonları 3-5'ten düzenleyen devletin ham ISO 3166-1 alfa-3 kodunu döndürür.PersonalNumber: MRZ pozisyonları 29-42'den isteğe bağlı ulusal kimlik numarasını döndürür.DateOfIssue: 27 dilde en iyi çaba etiketi eşleştirme yoluyla Görsel Denetim Alanı'ndan (VIZ) çıkarılan düzenleme tarihini döndürür.
Pasaportlardan Hangi MRZ Bilgilerini Çıkartabilirim?
IronOCR, (Uluslararası Sivil Havacılık Örgütü) ICAO standardını takip eden herhangi bir pasaportun alt iki sırasında yer alan MRZ bilgilerini okur. MRZ verisi iki veri satırı içerir, her konum kümesi benzersiz bilgiler içerir. İşte satır indeksine hangi bilgilerin karşılık geldiğini gösteren kısa bir tablo.
IronOCR'daki MRZ çözümleme fonksiyonu, baskı kalitesindeki varyasyonları ve görüntü yönlendirmesini çalışabilmek için tasarlanmıştır. Zorlu belgeler için, tanıma doğruluğunu artırmak amacıyla görüntü düzeltme filtreleri uygulayabilirsiniz.
MRZ Bölümü Nasıldır?
MRZ genellikle pasaport sayfasının altında bulunur ve standartlaştırılmış iki satır metinden oluşur. MRZ yapısını anlamak, çıkarmada sorunları çözmeye ve sonuçları doğrulamaya yardımcı olur.
İlk Sıra
| Konum | Alan | Açıklama |
|---|---|---|
| 1 | Belge Türü | Genellikle pasaport için 'P' |
| 2-3 | Veren Ülke | Üç harfli ülke kodu (ISO 3166-1 alfa-3) |
| 4-44 | Soyad ve Verilen İsimler | Soyadından sonra '<<' gelir ve ardından verilen isimler '<' ile ayrılır |
Ikinci Satir
| Konum | Alan | Açıklama |
|---|---|---|
| 1-9 | Pasaport Numarasi | Benzersiz pasaport numarasi |
| 10 | Dogru Basamagi (Pasaport Numarasi) | Pasaport numarasi icin dogru basamag |
| 11-13 | Uyruk | Uc harfli uyruk kodu (ISO 3166-1 alfa-3) |
| 14-19 | Dogum Tarihi | YYAAGG formatinda dogum tarihi |
| 20 | Dogru Basamagi (Dogum Tarihi) | Dogum tarihi icin dogru basamagi |
| 21 | Cinsiyet | Cinsiyet ('M' erkek icin, 'F' kadin icin, 'X' bilinmeyen icin) |
| 22-27 | Son Kullanma Tarihi | YYAAGG formatinda son kullanma tarihi |
| 28 | Dogru Basamagi (Son Kullanma Tarihi) | Son kullanma tarihi icin dogru basamagi |
| 29-42 | Kisisel Numarasi | Opsiyonel kisisel numara (genellikle ulusal kimlik numarasi) |
| 43 | Dogru Basamagi (Kisisel Numarasi) | Kisisel numara icin dogru basamagi |
| 44 | Dogru Basamagi (Bilesik) | Genel dogru basamagi |
Pasaport Cikartma Sonuclarini Nasıl Hata Ayiklar ve Dogrularim?
IronOCR'dan elde edilen ham metni ve guven seviyesini kontrol ederek pasaport resminden elde edilen sonuclarin dogrulugunu dogrulayabiliriz. Yukarıdaki örneği kullanarak, Confidence ve Text özelliklerine OcrPassportResult nesnesi üzerinden erişebiliriz.
Hata ayiklama amaclari icin, metin bolgelerini vurgulamak, hangi alanlarin tanindigini gorsel olarak doğrulamak icin yararli olabilir. Bu özellik, özellikle cikartma problemlerini cozerken veya tarama bolgelerini optimize ederken faydalidir.
:path=/static-assets/ocr/content-code-examples/how-to/read-passport-debug.cs
using IronOcr;
using System;
// Instantiate OCR engine
var ocr = new IronTesseract();
using var inputPassport = new OcrInput();
inputPassport.LoadImage("passport.jpg");
// Perform OCR
OcrPassportResult result = ocr.ReadPassport(inputPassport);
// Output Confidence level and raw extracted text
Console.WriteLine(result.Confidence);
Console.WriteLine(result.Text);
Imports IronOcr
Imports System
' Instantiate OCR engine
Private ocr = New IronTesseract()
Private inputPassport = New OcrInput()
inputPassport.LoadImage("passport.jpg")
' Perform OCR
Dim result As OcrPassportResult = ocr.ReadPassport(inputPassport)
' Output Confidence level and raw extracted text
Console.WriteLine(result.Confidence)
Console.WriteLine(result.Text)

Confidence:OcrPassportResult'danConfidenceözelliği, her karakterin ortalaması olarak OCR istatistiksel doğruluk güvenini belirten bir sayı olan bir ondalıktır. Pasaport resmi bulaniksa veya baska bilgiler iceriyorsa, bu kayan nokta dusuk olur. Bir en yuksek ve en guvenilir, sifir en dusuk ve en az guvenilirdir. Uretim uygulamalari icin, veri kalitesini saglamak icin sonuc guven esiklerini dusun.Text:OcrPassportResult'danTextözelliği, pasaport görüntüsünden çıkarılan ham, işlenmemiş metni içerir. Geliştiriciler bunu, pasaport resminin cikartilan metnini doğrulamak icin birim testlerinde kullanabilirler. Gelişmiş senaryolar icin, daha fazla analiz icin sonuclari hOCR formatinda disa aktarabilirsiniz.
Pasaport Taramasi Uygulamalari Icin En Iyi Uygulamalar
Pasaport tarama uygulamalari uretim ortamlari ek unsurlar icermelidir:
-
Gorsel Kalitesi: Girdi resimleri, minimum kalite standartlarini karsilamalidir. Daha iyi tanima icin gorsel optimize etmede Filtre Sihirbazi yardimci olabilir.
-
Performans: Yuksek hacimli işleme icin asenkron destegi ekleyin ve birden fazla pasaportu toplu işlemeyi dusunun.
-
Guvenlik: Pasaport verisi hassas oldugundan, uygun veri işlemeyi saglayin ve guvenli belge yonetim sistemleriyle entegre etmeyi dusunun.
-
Doğrulama: Cikartilan MRZ verisinin dogrulugunu saglamak icin dogru basamak doğrulamasi ekleyin. MRZ formati, cikarilan bilginin guvenirligini doğrulamak icin kullanilabilecek birden fazla dogru basamagi icerir.
- Hata Yonetimi: Pasaport resimleri hasarli, kotu aydinlatilmis veya standart olmayan formatlar icerebilir, bu durumda guclu hata yonetimi saglayin.
Sıkça Sorulan Sorular
Görüntülerden C# ile pasaport verilerini nasıl çıkarırım?
IronOCR'un ReadPassport yöntemini kullanarak pasaport verilerini çıkarabilirsiniz. Basitçe pasaport resminizi OcrInput ile yükleyin ve yapılandırılmış verileri, isimler, pasaport numaraları, doğum tarihleri ve sona erme tarihleri dahil, tek bir satır kodda almak için ReadPassport() çağırın.
Otomatik olarak hangi pasaport bilgileri çıkarılabilir?
IronOCR'un ReadPassport yöntemi pasaport görüntülerinden GivenNames, Country, PassportNumber, Surname, DateOfBirth ve DateOfExpiry'yi çıkarır. Tüm veriler bir yapılandırılmış PassportInfo nesnesi içinde dizeler olarak döndürülür.
Pasaport MRZ verilerini okumak için karmaşık bir kurulum gerekir mi?
Karmaşık bir kurulum gerekmiyor. IronOCR, pasaport MRZ verilerini sadece bir satır kodla çıkaran basitleştirilmiş bir API sunar, bu geleneksel Tesseract uygulamalarıyla daha fazla yapılandırma gerektiren durumlardan farklıdır.
Pasaport okuma yeteneğini hangi teknoloji destekliyor?
IronOCR, Tesseract 5'i makine öğrenme iyileştirmeleri ve ileri düzey bilgisayarla görme teknikleriyle kullanarak, pasaport görüntülerinden MRZ (Makine Okunabilir Bölge) alanını otomatik olarak yerleştirip çıkarır.
Bu havaalanı göçmenlik sistemleri için kullanılabilir mi?
Evet, IronOCR havaalanlarında günlük olarak büyük hacimde pasaport işleyen göçmenlik ve güvenlik uygulamaları için idealdir. Kritik seyahat edilebilir bilgilerin güvenilir bir şekilde çıkarılmasını sağlayarak etkin göçmenlik işlemlerini temin eder.

