IronOCR ile C# İçerisinde Pasaport Verilerini Çıkarın
IronOCR'nin ReadPassport metodu, pasaport görüntülerinden adlar, pasaport numaraları, doğum tarihleri ve son kullanma tarihleri gibi yapılandırılmış verileri tek bir C# kod satırında çıkarır ve bu, göç ve güvenlik uygulamaları için idealdir.
Günlük olarak büyük hacimlerde pasaport işleyen havaalanları gibi yerler, etkin ve kesintisiz bir süreç sağlamak için, kritik yolcu bilgilerini doğru bir şekilde çıkartan güvenilir bir sisteme sahip olmanın çok önemli olduğu uygulamalar ve sistemlerde. IronOCR kütüphanesi, makine öğrenimi geliştirmeleri ile yapılmış Tesseract 5 kullanarak pasaport okumaya özel optimize edilmiş gelişmiş OCR yetenekleri sağlar.
Hızlı Başlangıç: Tek Satırda Pasaport MRZ Bilgisi Çıkarın
Bu örnek, OcrInput kullanarak bir pasaport görüntüsünü nasıl yükleyeceğinizi, verileri çıkarmak için ReadPassport() kullanmayı ve döndürülen PassportInfo üzerinden adlar, numara ve tarihler gibi yapılandırılmış alanlara nasıl erişeceğinizi gösterir. Karmaşık bir kurulum gerektirmez—sadece bir basit satır. Geleneksel Tesseract uygulamalarından farklı olarak, IronOCR, belge çıkarımı için özel olarak tasarlanmış basitleştirilmiş bir API sunar.
-
IronOCR aşağıdaki NuGet Paket Yöneticisi ile yükleyin
-
Bu kod parçacığını kopyalayın ve çalıştırın.
var passportInfo = new IronOcr.IronTesseract().ReadPassport(new IronOcr.OcrInput("passport.jpg")).PassportInfo; -
Canlı ortamınızda test için dağıtım yapın
Ücretsiz deneme ile bugün projenizde IronOCR kullanmaya başlayın
Asgari İş Akışı (5 adım)
- Pasaport okumak için bir C# kütüphanesi indirin
- Okuma için pasaport görüntüsünü içe aktarın
- Belgenin yalnızca pasaport görüntüsü içerdiğinden emin olun, üstbilgi veya altbilgi olmaksızın
- İmajdan veri çıkarmak için
ReadPassportyöntemini kullanın - Çıkarılan pasaport verilerini görüntülemek ve daha fazla işlemek için OcrPassportResult özelliğine erişin
C# ile Pasaport Verilerini Nasıl Çıkarım?
Örnek olarak, IronOCR'un işlevselliğini göstermek için giriş olarak bir pasaport görüntüsünü kullanacağız. OcrInput kullanılarak görüntüyü yükledikten sonra, pasaporttan bilgi tanımlamak ve çıkarmak için ReadPassport metodunu kullanabilirsiniz. Bu metod, GivenNames, Country, PassportNumber, Surname, DateOfBirth, DateOfExpiry, Gender, DocumentType, Milliyet, MilliyetCode, IssuingCountryCode, PersonalNumber ve DateOfIssue gibi özellikleri içeren bir OcrPassportResult nesnesi döndürür.
ReadPassport metodu, plaka okuma, MICR çekleri ve diğer yapılandırılmış belgeler için metotları da içeren IronOCR'nin uzmanlaşmış belge okuma yeteneklerinin bir parçasıdır. Yöntem, MRZ (Makine Okunabilir Bölge) alanını otomatik olarak bulup çıkarmak için gelişmiş bilgisayarla görüş tekniklerini kullanır.
- Yöntem şu anda yalnızca İngilizce tabanlı pasaportlar için çalışıyor. Gelişmiş tarama işleminin .NET Framework üzerinde kullanımı için projenin x64 mimarisinde çalıştırılması gerekmektedir.
- Mac kullanıcıları için lütfen
ReadPassportmetodunun şu anda girişi otomatik olarak döndürmediğini unutmayın. Girişi kullanırken, MRZ'nin her zaman dosyanın altında olduğundan 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 dahil çeşitli görüntü formatlarını destekler. En iyi sonuçlar için, pasaport görüntünüzün yeterli çözünürlüğe sahip olduğundan (en az 300 DPI) ve uygun aydınlatma olduğundan emin olun. Daha düşük kaliteli taramalarla çalışıyorsanız, DPI ayarları ayarlanabilir.
Pasaport Verilerini Çıkarmak İçin Hangi Koda İhtiyacım Var?
Aşağıdaki örnek, pasaport veri çıkarmanın tüm sürecini göstermektedir. Birden fazla pasaportu işleyen uygulamalar için performansı artırmak amacıyla çoklu iş parçacığı desteği uygulamayı düşünün. Ayrıca uzun süreli operasyonlar için OCR ilerlemesini izleyebilirsiniz.
: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 Ne Tür Çıktılar Bekleyebilirim?
Çıkarılan veriler, mevcut sistemlere entegre edilmesini kolaylaştıran yapılandırılmış bir formatta döndürülür. OcrResult sınıfı tüm çıkarılmış bilgilere kapsamlı erişim sağlar.
Sonrasında OcrPassportResult nesnesinden elde edilen PassportInfo veri üyesine erişiyoruz. Çıkarma süreci, farklı pasaport düzenlerini ve formatlarını otomatik olarak ele alır, farklı veren ülkeler arasında tutarlı sonuçlar sağlar.
GivenNames:PassportInfobir özelliği, pasaport girişinin verilen adlarını bir dize olarak döndürür. Bu, ilk MRZ veri satırına karşılık gelir, pozisyonlar 4'ten 44'e kadar.Country:PassportInfobir özelliği, pasaport girişinin ülkesini bir dize olarak döndürür. Bu, ilk MRZ veri satırına karşılık gelir, pozisyonlar 2 ila 3. Döndürülen dizi, kısaltma yerine veren ülkenin tam adını ifade eder. Örneğimizde, ABD 'Amerika Birleşik Devletleri' olarak döner.PassportNumber:PassportInfobir özelliği, pasaport girişinin pasaport numarasını bir dize olarak döndürür. Bu, ikinci MRZ veri satırına karşılık gelir, pozisyonlar 1'den 9'a kadar.Surname:PassportInfobir özelliği, pasaport girişinin soyadını bir dize olarak döndürür. Bu, ilk MRZ veri satırına karşılık gelir, pozisyonlar 4'ten 44'e kadar.DateOfBirth:PassportInfobir ö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ına karşılık gelir, pozisyonlar 14'ten 19'a kadar.DateOfExpiry:PassportInfobir özellik üyeliği, pasaport girişinin son kullanma tarihini YYYY-AA-GG formatında bir dize olarak döndürür. Bu, ikinci MRZ veri satırına karşılık gelir, pozisyonlar 22 ila 27.Gender: MRZ pozisyonu 21'den cinsiyetiGender.Male,Gender.FemaleveyaGender.Unspecifiedolarak 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.Milliyet: MRZ pozisyonları 11-13'ten türetilen tam İngilizce ülke adını döndürür.MilliyetCode: MRZ pozisyonları 11-13'ten ham ISO 3166-1 alfa-3 kodunu döndürür.IssuingCountryCode: MRZ pozisyonları 3-5'ten veren devlet için 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 dil arasında en iyi çaba etiket eşlemesiyle Görsel İnceleme Bölgesi'nden (VIZ) çıkarılan düzenleme tarihini döndürür.
Pasaportlardan Hangi MRZ Bilgisini Çıkarabilirim?
IronOCR, (Uluslararası Sivil Havacılık Örgütü) ICAO standardına uyan herhangi bir pasaportun alt iki satırında yer alan MRZ bilgilerini okur. MRZ verisi iki veri satırından oluşur ve her pozisyon kümesi benzersiz bilgi içerir. Satır indeksine karşılık gelen bilgilerin hangi bilgilerini içeren kısa bir tablo.
IronOCR'deki MRZ ayrıştırma işlevi, yazdırma kalitesi ve görüntü yönelimi üzerine yapılan farklılıkları ele almak için tasarlanmıştır. Zor belgeler için, doğruluğu artırmak amacıyla görüntü düzeltme filtrelerini uygulayabilirsiniz.
MRZ Bölümü Nasıl Görünür?
MRZ genellikle pasaport sayfasının alt kısmında yer alır ve iki satırlık standartlaştırılmış metinlerden oluşur. MRZ yapısını anlamak, çıkarma sorunlarını gidermede ve sonuçları doğrulamada yardımcı olur.
İlk Satır
| Pozisyon | Alan | Açıklama |
|---|---|---|
| 1 | Belge Türü | Genellikle pasaport için 'P' |
| 2-3 | Veren Ülke | Üç harfli ülke kodu (ISO 3166-1 alpha-3) |
| 4-44 | Soyadı ve Verilen İsimler | Soy isim '<<' izler ve ardından '<' ile ayrılmış verilen isimler |
İkinci Satır
| Pozisyon | Alan | Açıklama |
|---|---|---|
| 1-9 | Pasaport Numarası | Eşsiz pasaport numarası |
| 10 | Kontrol Basamağı (Pasaport Numarası) | Pasaport numarası için kontrol basamağı |
| 11-13 | Milliyet | Üç harfli milliyet kodu (ISO 3166-1 alpha-3) |
| 14-19 | Doğum Tarihi | Doğum tarihi YYAA-GG formatında |
| 20 | Kontrol Basamağı (Doğum Tarihi) | Doğum tarihi için kontrol basamağı |
| 21 | Cinsiyet | Cinsiyet ('M' erkek, 'F' kadın, 'X' belirsiz için) |
| 22-27 | Son Kullanma Tarihi | Son kullanma tarihi YYAA-GG formatında |
| 28 | Kontrol Basamağı (Son Kullanma Tarihi) | Son kullanım tarihi için kontrol basamağı |
| 29-42 | Kişisel Numara | İsteğe bağlı kişisel numara (genellikle ulusal kimlik numarası) |
| 43 | Kontrol Basamağı (Kişisel Numara) | Kişisel numara için kontrol basamağı |
| 44 | Kontrol Basamağı (Bileşik) | Genel kontrol basamağı |
Pasaport Çıkarma Sonuçlarını Nasıl Hata Ayıklayabilir ve Doğrulayabilirim?
IronOCR'dan geçirilen pasaport görüntüsünden çıkarılan ham metni ve güven seviyesini alarak sonuçları doğrulayabiliriz. Yukarıdaki örneği kullanarak, Confidence ve Text özelliklerine OcrPassportResult nesnesi aracılığıyla erişebiliriz.
Hata ayıklama amaçları için, hangi bölgelerin tanındığını görsel olarak doğrulamak için metin bölgelerini vurgulamak isteyebilirsiniz. Bu özellik, özellikle çıkarım sorunlarını giderirken veya tarama bölgelerini optimize ederken faydalıdır.
: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 bir karakterin ortalamasına göre OCR istatistiksel doğruluk güvenini gösteren bir float değerdir. Bu float düşükse, pasaport görüntüsü bulanık veya başka bilgiler içeriyordur. Bir en yüksek ve en güvenilir olanıdır ve sıfır en düşük ve en az güvenilir olanıdır. Üretim uygulamaları için, veri kalitesini sağlamak için sonuç güveni eşik değerleri uygulamayı düşünün.Text:OcrPassportResult'danTextözelliği, pasaport görüntüsünden çıkarılan ham, işlenmemiş metni içerir. Geliştiriciler, pasaport görüntüsünün çıkarılan metnini doğrulamak için bunu birim testlerinde kullanabilirler. İleri düzey senaryolar için, daha fazla analiz için sonuçları hOCR formatında dışa aktarabilirsiniz.
Pasaport Tarama Uygulamaları İçin En İyi Uygulamalar
Üretim ortamlarında pasaport tarama uygularken, aşağıdaki ek faktörleri göz önünde bulundurun:
-
Görüntü Kalitesi: Giriş görüntülerinin minimum kalite standartlarını karşıladığından emin olun. Filter Wizard daha iyi tanıma için görüntüleri optimize etmeye yardımcı olabilir.
-
Performans: Yüksek hacimli işlem için, eşzamanlılık desteği uygulayın ve birden fazla pasaportun toplu işlenmesini düşünün.
-
Güvenlik: Pasaport verileri hassas olduğundan, doğru veri işleme sağlamak ve güvenli belge yönetim sistemleri ile entegrasyonu düşünün.
-
Doğrulama: Çıkarılan MRZ verilerinin doğruluğunu sağlamak için kontrol basamağı doğrulaması uygulayın. MRZ formatı, çıkarılan bilgilerin bütünlüğünü doğrulamak için kullanılabilecek birçok kontrol basamağı içerir.
- Hata Yönetimi: Pasaport görüntüleri hasarlı, kötü aydınlatılmış veya standart dışı formatlar içeriği durumlar için sağlam hata yönetimi uygulayın.
Sıkça Sorulan Sorular
C# dilinde görüntülerden pasaport verilerini nasıl çıkarırım?
IronOCR'un ReadPassport yöntemini kullanarak pasaport verilerini çıkarabilirsiniz. Basitçe, pasaport görüntünüzü OcrInput ile yükleyin ve tek bir satır kodla isimler, pasaport numaraları, doğum tarihleri ve bitiş tarihleri dahil yapılandırılmış verileri 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, yapılandırılmış bir PassportInfo nesnesinde dizgiler olarak döndürülür.
Pasaport MRZ verilerini okumak için karmaşık bir kurulum yapmam gerekiyor mu?
Karmaşık bir kurulum gerekmez. IronOCR, geleneksel Tesseract uygulamalarının daha fazla yapılandırma gerektirdiği bir ortamda, tek bir satır kodla pasaport MRZ verilerini çıkaran basitleştirilmiş bir API sağlar.
Pasaport okuma yeteneğini hangi teknoloji sağlıyor?
IronOCR, makine öğrenimi geliştirmeleri ve gelişmiş bilgisayarlı görü teknikleri ile Tesseract 5'i kullanarak pasaport görüntülerinden MRZ (Makineyle Okunabilir Bölge) alanını otomatik olarak bulup çıkarmaktadır.
Bu havalimanı göçmenlik sistemlerinde kullanılabilir mi?
Evet, IronOCR, ajanların günlük olarak büyük hacimde pasaport yönetmesi gereken havaalanlarında göçmenlik ve güvenlik uygulamaları için idealdir. Kritik yolcu bilgilerini güvenilir bir şekilde çıkararak etkin göçmenlik süreçlerinin sağlanmasına yardımcı olur.
IronOCR birden fazla dili destekliyor mu?
IronOCR, birden çok dili destekler ve farklı dillerde metin tanımaya ihtiyaç duyan global uygulamalar için çok yönlü bir araçtır.
IronOCR mevcut uygulamalara entegre edilebilir mi?
IronOCR, C# kullanarak mevcut uygulamalara kolayca entegre edecek şekilde tasarlanmıştır, bu sayede geliştiriciler, yazılımlarına minimal çabayla OCR işlevselliği ekleyebilir.
IronOCR'yi belge yönetimi için kullanmanın faydaları nelerdir?
IronOCR'yi belge yönetimi için kullanmak, taranmış belgeleri aranabilir ve düzenlenebilir metne dönüştürerek iş akışını hızlandırır, manuel veri giriş ihtiyacını azaltır ve belge erişilebilirliğini artırır.
IronOCR veri doğruluğunu nasıl artırabilir?
IronOCR, gelişmiş tanıma algoritmaları ve görüntü düzeltme özellikleriyle veri doğruluğunu artırır, böylece metin çıkarım sürecinin hem güvenilir hem de kesin olmasını sağlar.
IronOCR için ücretsiz bir deneme mevcut mu?
Evet, Iron Software, IronOCR'nin özelliklerini ve yeteneklerini, bir satın alma kararı vermeden önce test edebilmek için ücretsiz bir deneme sunar.

