IronOCR ile C# İçerisinde Pasaport Verilerini Çıkarın
IronOCR'nin ReadPassport yöntemi, tek bir C# kod satırında pasaport görüntülerinden isimler, pasaport numaraları, doğum tarihleri ve son kullanma tarihleri dahil olmak üzere yapılandırılmış verileri çıkarır, bu da onu göçmenlik ve güvenlik uygulamaları için ideal hale getirir.
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 pasaport görüntüsünün nasıl yükleneceğini, ReadPassport() kullanarak verilerin nasıl çıkarılacağını ve döndürülen PassportInfo'den isim, numara ve tarih gibi yapılandırılmış alanlara nasıl erişileceğini göstermektedir. 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
PM > Install-Package IronOcr -
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 kullanarak görüntüyü yükledikten sonra, ReadPassport yöntemini kullanarak pasaporttaki bilgileri tanımlayabilir ve çıkarabilirsiniz. Bu yöntem, OcrPassportResult nesnesini döndürür; bu nesne GivenNames, Country, PassportNumber, Surname, DateOfBirth, DateOfExpiry, Gender, DocumentType, Milliyet, MilliyetCode, IssuingCountryCode, PersonalNumber ve DateOfIssue.
ReadPassport yöntemi, IronOCR'nin özel belge okuma yeteneklerinin bir parçasıdır. Bu yetenekler arasında plaka, MICR çekleri ve diğer yapılandırılmış belgeleri okumaya yönelik yöntemler de bulunmaktadı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,
ReadPassportyönteminin şu anda girişi otomatik olarak döndürmediğini lütfen 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ı, çıkarılan tüm bilgilere kapsamlı erişim sağlar.
Ardından, PassportInfo nesnesinden elde edilen OcrPassportResult veri üyesine erişiriz. Çı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:PassportInfo'nin bir özelliği, pasaport girdisinin 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:PassportInfo'nin bir özelliği, pasaport girişindeki ülkeyi 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:PassportInfo'nin bir ö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:PassportInfo'nin bir özelliği, passport girdisinin 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:PassportInfo'nin bir özelliği, pasaport girdisindeki doğum tarihini YYYY-MM-DD biçiminde 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:PassportInfo'nin bir özellik üyesi, pasaport girdisinin son kullanma tarihini YYYY-MM-DD biçiminde bir dize olarak döndürür. Bu, ikinci MRZ veri satırına karşılık gelir, pozisyonlar 22 ila 27.Gender: MRZ konum 21'den cinsiyetiGender.Male,Gender.FemaleveyaGender.Unspecifiedolarak döndürür.DocumentType: MRZ'nin 1-2 numaralı konumlarından belge türünü döndürür; örneğin, pasaport için "P", hizmet için "PS" veya diplomatik için "PD".Milliyet: MRZ'nin 11-13. konumlarından türetilen tam İngilizce ülke adını döndürür.MilliyetCode: MRZ konumları 11-13'ten ham ISO 3166-1 alfa-3 kodunu döndürür.IssuingCountryCode: MRZ'nin 3-5. konumlarından düzenleyen ülkeye ait ham ISO 3166-1 alfa-3 kodunu döndürür.PersonalNumber: MRZ'nin 29-42 konumlarından isteğe bağlı ulusal kimlik numarasını döndürür.DateOfIssue: 27 dilde en iyi etiket eşleştirme yöntemi kullanılarak Visual Inspection Zone (VIZ) 'dan çıkarılan yayın 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, OcrPassportResult nesnesinin Confidence ve Text özelliklerine 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:Confidence'dekiOcrPassportResultözelliği, her karakterin ortalaması olarak OCR istatistiksel doğruluk güvenini gösteren bir float değeridir. 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:Text'dakiOcrPassportResultözelliği, pasaport görüntüsünden çıkarılan işlenmemiş, ayrıştırılmamış 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.

