IronOCR ile C#'da Pasaport Verisi Cikar

This article was translated from English: Does it need improvement?
Translated
View the article in English

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.

  1. NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronOcr yükleyin

    PM > Install-Package IronOcr
  2. Bu kod parçasını kopyalayıp çalıştırın.

    var passportInfo = new IronOcr.IronTesseract().ReadPassport(new IronOcr.OcrInput("passport.jpg")).PassportInfo;
  3. Canlı ortamınızda test etmek için dağıtın

    Bugün projenizde IronOCR kullanmaya başlayın ücretsiz deneme ile

    arrow pointer

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.

Lütfen dikkate alin

  • 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, ReadPassport yö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.

ABD pasaport veri sayfası örneği, biyografik alanları, tarihleri ve veri çıkarımı için makinede okunabilir bölgeyi gösteriyor

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
$vbLabelText   $csharpLabel

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.

Hata ayiklama konsolu, OCR işleminden incelenmiş pasaport verileri: isim, ulke, pasaport numarası ve tarihler gösteriyor

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'den Gender.Male, Gender.Female veya Gender.Unspecified olarak 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.

ABD pasaport sayfası: Alfanümerik veri hatlarını içeren ve Makinede Okunabilir Bölge (MRZ) kırmızı kutu içinde vurgulanmış

İlk Sıra

Konum Alan Açıklama
1Belge TürüGenellikle pasaport için 'P'
2-3Veren ÜlkeÜç harfli ülke kodu (ISO 3166-1 alfa-3)
4-44Soyad ve Verilen İsimlerSoyadından sonra '<<' gelir ve ardından verilen isimler '<' ile ayrılır

Ikinci Satir

Konum Alan Açıklama
1-9Pasaport NumarasiBenzersiz pasaport numarasi
10Dogru Basamagi (Pasaport Numarasi)Pasaport numarasi icin dogru basamag
11-13UyrukUc harfli uyruk kodu (ISO 3166-1 alfa-3)
14-19Dogum TarihiYYAAGG formatinda dogum tarihi
20Dogru Basamagi (Dogum Tarihi)Dogum tarihi icin dogru basamagi
21CinsiyetCinsiyet ('M' erkek icin, 'F' kadin icin, 'X' bilinmeyen icin)
22-27Son Kullanma TarihiYYAAGG formatinda son kullanma tarihi
28Dogru Basamagi (Son Kullanma Tarihi)Son kullanma tarihi icin dogru basamagi
29-42Kisisel NumarasiOpsiyonel kisisel numara (genellikle ulusal kimlik numarasi)
43Dogru Basamagi (Kisisel Numarasi)Kisisel numara icin dogru basamagi
44Dogru 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)
$vbLabelText   $csharpLabel

VS Kod hata ayıklama konsolu, kişisel bilgiler, ülkeler ve kodlanmış dizelerle pasaport veri çıktısını gösteriyor

  • Confidence: OcrPassportResult'dan Confidence ö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'dan Text ö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:

  1. Gorsel Kalitesi: Girdi resimleri, minimum kalite standartlarini karsilamalidir. Daha iyi tanima icin gorsel optimize etmede Filtre Sihirbazi yardimci olabilir.

  2. Performans: Yuksek hacimli işleme icin asenkron destegi ekleyin ve birden fazla pasaportu toplu işlemeyi dusunun.

  3. Guvenlik: Pasaport verisi hassas oldugundan, uygun veri işlemeyi saglayin ve guvenli belge yonetim sistemleriyle entegre etmeyi dusunun.

  4. 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.

  5. 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.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku
İnceleyen
Jeff Fritz
Jeffrey T. Fritz
Baş Program Yöneticisi - .NET Topluluk Ekibi
Jeff, aynı zamanda .NET ve Visual Studio ekipleri için Baş Program Yöneticisi'dir. Microsoft geliştirici etkinlikleri (Microsoft Build, Microsoft Ignite, .NET Conf, Microsoft MVP Summit) için atölye çalışmaları, sunumlar yazar ve içerik planlar ve haftada iki kez yayınlanan 'Fritz ve Arkadaşları' canlı yayınının ev sahibidir.
Başlamaya Hazır mısınız?
Nuget İndirmeler 5,585,834 | Sürüm: 2026.4 just released
Still Scrolling Icon

Hala Kaydiriyor musunuz?

Hızlı bir kanit mi istiyorsunuz? PM > Install-Package IronOcr
örnekleri çalıştır resminizin aranabilir metne donuşünü izleyin.