C#'da Kimlik Belgelerini OCR Kullanarak Nasıl Okunur
Optik Karakter Tanıma (OCR) teknolojisi, insan hatasını önlerken, görüntülerden metin çıkarmanın otomatikleştirilmesinde, veri alımında ve analizinde verimli bir araç haline gelmiştir. Bu teknoloji, birçok dilde ve farklı ülkelerdeki ehliyetler, pasaportlar, kurum resmi belgeleri, kimlik kartları, oturma izin kartları ve seyahat belgelerini tam son kullanma tarihi, uyruk, doğum tarihi gibi bilgileri okumakta kullanılabilir. Tüm çıkarılan veriler daha sonra makine öğrenimi ve yapay zeka yazılım ürünlerine aktarılabilir.
Bu makalede, kimlik belgelerinden bilgi okumak ve çıkarmak için Iron Software tarafından geliştirilen C#'da güçlü bir OCR kütüphanesi olan IronOCRyi nasıl kullanacağımızı inceleyeceğiz. IronOCR, OCR görevleri için API'lar biçiminde basit ve esnek bir OCR çözümü sunar, bu da OCR yazılımı yeteneklerini uygulamalarına entegre etmek isteyen geliştiriciler için mükemmel bir seçim haline getirir.
IronOCR, bilgisayarların görüntülerden, mevcut belgelerden veya metnin herhangi başka bir görsel temsilinden metni tanıyıp çıkarmasına olanak tanır. Veri çıkarmak için insanların metni görsel olarak algılama ve yorumlama şeklini taklit eden bir dizi karmaşık işlem gereklidir. Bu süreç, hata düzeltmek için Görüntü Ön-işleme, Metin Algılama, Karakter Segmentasyonu, Özellik Çıkartma, Karakter Tanıma ve Son İşleme işlemlerini içerir.
C#'da OCR Kullanarak Kimlik Belgelerini Nasıl Okursunuz
- Visual Studio'da yeni bir C# projesi oluşturun
- IronOCR .NET kütüphanesini yükleyin ve projenize ekleyin.
- IronOCR kütüphanesini kullanarak kimlik belgesi görüntülerini okuyun.
- Kimlik belgelerini PDF'lerden okuyun.
Iron Software tarafından geliştirilen ve bakımı yapılan IronOCR, C# Yazılım Mühendisleri için güçlü bir kütüphane olup .NET projelerinde OCR, Barcode Tarama ve Metin Çıkartma işlemlerini kolaylaştırır.
IronOCR'nin Temel Özellikleri
Metin Okuma Esnekliği
JPEG, PNG, GIFF, TIFF, BMP gibi resim formatları, Akışlar ve PDF'ler dahil birçok formatta ilgili verileri okuyabilme yeteneği.
Görüntü Geliştirme
Düşük kaliteli taramaları ve fotoğrafları Deskew, Denoise, Binarize, Enhance Resolution, Dilate gibi çeşitli filtreler aracılığıyla düzeltir.
Barkod Tanıma
20'den fazla barkod türünü kapsayan geniş bir format yelpazesinden barkod okuma desteği sunar, ayrıca QR kod tanıması da eklenmiştir.
Tesseract OCR Entegrasyonu
Resimlerden metin çıkarmada optimal performans için ince ayar yapılmış en son Tesseract OCR yapısını kullanır.
Esnek Çıktı Seçenekleri
Görüntü dosyalarından aranabilir PDF'ler, HTML ve metin içeriği ihracına olanak tanıyarak çıkartılan bilgilerin yönetiminde esneklik sunar.
Şimdi, Kimlik Belgelerini okumak için IronOCR'yi kullanan bir demo uygulamanın geliştirilmesine dalalım.
Gereksinimler
- Visual Studio: Visual Studio veya herhangi bir başka C# geliştirme ortamını kurduğunuzdan emin olun.
- NuGet Paket Yöneticisi: Projenizde paketleri yönetmek için NuGet kullanabileceğinizden emin olun.
Adım 1: Visual Studio'da Yeni Bir C# Projesi Oluşturun
Başlangıçta, Visual Studio'da taze bir C# konsol uygulaması oluşturun veya alternatif olarak mevcut bir projeyi kullanın. Menüden "Yeni Proje Ekle"yi seçin, ardından aşağıdaki şablonlardan konsol uygulamasını seçin.

Projeyi oluşturduktan sonra gerekli proje adını ve konumunu belirtin.

Gerekli .NET Sürümünü seçin.

Yeni projeyi oluşturmak için Oluştur butonuna tıklayın.
Adım 2: IronOCR kütüphanesi yükleyin ve projeinize ekleyin.
IronOCR, NuGet paket yöneticisinde bulunabilir ve paket yöneticisi konsolu ile aşağıdaki komutla yüklenecebilir:
Install-Package IronOcr
IronOCR ayrıca Visual Studio kullanılarak da yüklenebilir. NuGet Paket Yöneticisini açın, aşağıdaki gibi IronOCR'yi arayın ve yükle'ye tıklayın.

Kurulum sonrası, uygulama artık veri çıkarmak ve kimlik doğrulaması yapmak için herhangi bir kimlik belgesini okumak için IronOCR'yi kullanmaya hazır durumda olacak, manuel veri girişi iş yükünü azaltacaktır.
Adım 3: IronOCR kütüphanesini kullanarak Kimlik Belgesi Görüntülerini Okuyun
Kimlik belgelerini işlemek için OCR kullanımı birçok aşamayı içerir, bu adımlar aşağıda detaylandırılmıştır.
Görüntü Ön-işleme
OCR Kimlik belgesi işleme, metin içeren bir görüntü edinilmesiyle başlar. Bu görüntü taranmış kimlik belgeleri, kimlik kartlarının bir fotoğrafı veya metnin başka herhangi bir görsel temsilini içerebilir. Kimlik kartı ön-işleme adımları, düşük kaliteli taramaların ve fotoğrafların düzeltilmesini, yeniden boyutlandırılmasını ve iyileştirilmesini içerebilir.
Metin Algılama
OCR algoritmaları, görüntüdeki metnin bulunduğu belirli veri bölgelerini belirlemek zorundadır. Bu adım, metin bölgelerinin veya sınırlayıcı kutuların belirlenmesini içerir.
Karakter Segmentasyonu
Metin bölgeleri veya veri alanları belirlendikten sonra, görüntü daha da analiz edilerek bireysel karakterlerin segmentasyonu yapılır. Bu adım, İngilizce veya Çince gibi belirgin karakterler kullanan diller için önemlidir.
Özellik Çıkartma
OCR algoritmaları, karakterleri farklı karakterler arasında ayrım yapmaya yardımcı olan özellikleri çıkarmak için segmentasyonu yapılan karakterleri analiz eder. Bu özellikler, vuruş desenleri, şekil ve elemanlar arasındaki mekansal ilişkileri içerebilir.
Karakter Tanıma
Çıkarılan özelliklere dayanarak, OCR algoritmaları her bir segmentasyonu yapılan karakteri sınıflandırır ve ona karşılık gelen metinsel temsili atar. Bu adımda sıklıkla, sinir ağları gibi makine öğrenimi modelleri kullanılır.
Son İşleme
Tanı olan karakterler daha fazla doğruluk veya hata düzeltmek için son işleme tabi tutulabilir. Bu adım sözlük bazlı düzeltmeler, bağlam analizi veya dil modelleme gibi işlemleri içerebilir.
IronOCR kütüphanesi, tüm bu adımları kapsar ve yalnızca birkaç satır kod kullanarak OCR gerçekleştirmemize izin verir, zaman alıcı yorucu görevlerden tasarruf sağlar.
using IronOcr;
class Program
{
public static void Main()
{
// Configure IronTesseract with language and other settings
var ocrTesseract = new IronTesseract()
{
Language = OcrLanguage.EnglishBest,
Configuration = new TesseractConfiguration()
{
ReadBarCodes = false, // Disable reading of barcodes
BlackListCharacters = "`ë|^", // Blacklist specific characters
PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd, // Set page segmentation mode
}
};
// Define the OCR input image
using var ocrInput = new OcrInput("id1.png");
// Perform OCR on the input image
var ocrResult = ocrTesseract.Read(ocrInput);
// Display the extracted text
Console.WriteLine(ocrResult.Text);
}
}
using IronOcr;
class Program
{
public static void Main()
{
// Configure IronTesseract with language and other settings
var ocrTesseract = new IronTesseract()
{
Language = OcrLanguage.EnglishBest,
Configuration = new TesseractConfiguration()
{
ReadBarCodes = false, // Disable reading of barcodes
BlackListCharacters = "`ë|^", // Blacklist specific characters
PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd, // Set page segmentation mode
}
};
// Define the OCR input image
using var ocrInput = new OcrInput("id1.png");
// Perform OCR on the input image
var ocrResult = ocrTesseract.Read(ocrInput);
// Display the extracted text
Console.WriteLine(ocrResult.Text);
}
}
Imports IronOcr
Friend Class Program
Public Shared Sub Main()
' Configure IronTesseract with language and other settings
Dim ocrTesseract = New IronTesseract() With {
.Language = OcrLanguage.EnglishBest,
.Configuration = New TesseractConfiguration() With {
.ReadBarCodes = False,
.BlackListCharacters = "`ë|^",
.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd
}
}
' Define the OCR input image
Dim ocrInput As New OcrInput("id1.png")
' Perform OCR on the input image
Dim ocrResult = ocrTesseract.Read(ocrInput)
' Display the extracted text
Console.WriteLine(ocrResult.Text)
End Sub
End Class
Giriş Görselleği
Aşağıda, program için girdi olarak kullanılan bir örnek görüntü gösterilmiştir.

Çıktı

Kod Açıklaması
Yukarıdaki kod, kimlik belgesinden tüm metin alanlarını okumak için IronOCR kütüphanesini kullanır. IronOCR kütüphanesinden IronTesseract sınıfını kullanıyor ve İngilizce dilini ve bazı kara listeye alınmış karakterleri kullanacak şekilde yapılandırıyoruz. Daha sonra OCR girdisini OcrInput sınıfı ile beyan ediyor ve görüntüden metin okuyoruz. Çıkarılan metin alanları konsol çıktısında görülebilir.
Adım 4: PDF Belgelerinden Kimlik Belgelerini Okuyun
Ayrıca PDF belgelerinden de okuyabiliriz. Bunun için, Iron Software'in IronPDF kütüphanesini kullanabiliriz. İlk olarak, kütüphaneyi şu şekilde yükleyin:
Install-Package IronOcr
using IronOcr;
using IronPdf;
class Program
{
public static void Main()
{
// Load the PDF document
var pdfReader = new PdfDocument("id1.pdf");
// Initialize IronTesseract for OCR
var ocrTesseract = new IronTesseract();
// Create OCR input from the PDF stream
using var ocrInput = new OcrInput();
ocrInput.AddPdf(pdfReader.Stream);
// Perform OCR on the PDF input
var ocrResult = ocrTesseract.Read(ocrInput);
// Display the extracted text
Console.WriteLine(ocrResult.Text);
}
}
using IronOcr;
using IronPdf;
class Program
{
public static void Main()
{
// Load the PDF document
var pdfReader = new PdfDocument("id1.pdf");
// Initialize IronTesseract for OCR
var ocrTesseract = new IronTesseract();
// Create OCR input from the PDF stream
using var ocrInput = new OcrInput();
ocrInput.AddPdf(pdfReader.Stream);
// Perform OCR on the PDF input
var ocrResult = ocrTesseract.Read(ocrInput);
// Display the extracted text
Console.WriteLine(ocrResult.Text);
}
}
Imports IronOcr
Imports IronPdf
Friend Class Program
Public Shared Sub Main()
' Load the PDF document
Dim pdfReader = New PdfDocument("id1.pdf")
' Initialize IronTesseract for OCR
Dim ocrTesseract = New IronTesseract()
' Create OCR input from the PDF stream
Dim ocrInput As New OcrInput()
ocrInput.AddPdf(pdfReader.Stream)
' Perform OCR on the PDF input
Dim ocrResult = ocrTesseract.Read(ocrInput)
' Display the extracted text
Console.WriteLine(ocrResult.Text)
End Sub
End Class
Yukarıdaki kod, id1.pdf belgesini yüklemek için IronPDF kullanır ve PDF, OcrInput ve ocrTesseract olarak bir akış olarak geçirilir.
Çıktı

Lisanslama (Ücretsiz Deneme Mevcuttur)
IronOCR kullanmak için bir lisans anahtarına ihtiyacınız olacak. Bu anahtar appsettings.json'a yerleştirilmelidir.
{
"IRONOCR-LICENSE-KEY": "your license key"
}
Bir deneme lisansı almak için kullanıcı e-posta kimliği sağlayın.

Kullanım Durumları
1. Finansal Hizmetlerde Kimlik Doğrulama:
- Kullanım Durumu: Bankacılık ve finans kuruluşları, müşteri katılımı ve KYC sürecinde pasaportlar, ehliyetler ve kimlik kartlarını okumak için OCR kullanır.
- Faydalar: Hesap açma, kredi başvuruları ve diğer finansal işlemler için doğru ve verimli kimlik doğrulama sağlar.
2. Sınır Kontrolü ve Göçmenlik:
- Kullanım Durumu: Göçmenlik otoriteleri, sınır kontrol noktalarında pasaport ve vizelerden bilgi okuma ve kimlik doğrulaması için OCR teknolojisini kullanır.
- Faydalar: Göçmenlik sürecini hızlandırır, güvenliği artırır ve manuel veri girişi hatalarını azaltır.
3. Erişim Kontrolü ve Güvenlik:
- Kullanım Durumu: OCR, erişim kontrol sistemlerinde binalara veya kısıtlı alanlara güvenli giriş için kimlik kartlarından, çalışan rozetlerinden veya yüz tanıma taramalarından bilgi okumak için kullanılır.
- Faydalar: Sadece yetkili kişilerin erişim sağlamasını güvence altına alarak güvenliği artırır ve girişlerin dijital kayıtlarını sağlar.
4. E-Devlet Hizmetleri:
- Kullanım Durumu: Hükümet kurumları, çevrimiçi sunulan hizmetler için gönderilen kimlik belgelerini işlem ve doğrulamak için OCR kullanır, örneğin ehliyet yenileme, vergi beyannameleri ve izin başvuruları.
- Faydalar: Verimliliği artırır, evrak işlerini azaltır ve genel olarak vatandaş deneyimini geliştirir.
5. Sağlık Kimlik Doğrulama:
- Kullanım Durumu: Sağlık kuruluşları, hasta kimliği doğrulaması ve doğru hasta kaydı işlemi için OCR'yi kullanarak hasta kimliklerinden, sigorta kartlarından ve diğer kimlik belgelerinden bilgi okur.
- Faydalar: Hassas hasta tanımlamasını, doğru tıbbi kayıt yönetimini ve faturalama işlevlerini sürekli kılar.
6. Otomatik Otel Girişi:
- Kullanım Durumu: Oteller, misafirlerin kimlik belgelerini tarayarak otomatik check-in süreçlerini kolaylaştırır, kayıt işlemini hızlandırır.
- Faydalar: Misafir deneyimini geliştirir, check-in süresini kısaltır ve misafir bilgilerinin yakalanmasında hataları azaltır.
7. Akıllı Şehirler ve Kamu Hizmetleri:
- Kullanım Durumu: Kimlik belgelerini okumak için akıllı şehir girişimlerinde OCR uygulanır, örneğin toplu taşıma erişimi, kütüphane üyelikleri ve şehir etkinlik kayıtları.
- Faydalar: Kamu hizmetlerinin verimliliğini artırır, sorunsuz erişim sağlar ve kentsel yaşam deneyimlerini geliştirir.
8. Eğitim Yönetimi:
- Kullanım Durumu: Eğitim kurumları, öğrenci kayıtları, sınavlar ve akademik belgelerin verilmesi sırasında kimlik belgelerini işleyip doğrulamak için OCR kullanır.
- Faydalar: Doğru öğrenci kayıtları sağlar, idari yükü azaltır ve akademik süreçlerin bütünlüğünü artırır.
Sonuç
C# uygulamanızda IronOCR kullanarak OCR teknolojisini entegre etmek, kimlik belgelerinden bilgileri verimli bir şekilde çıkarmanıza olanak tanır. Bu kapsamlı kılavuz, projenizi nasıl ayarlayacağınız ve IronOCR'yi kimlik belgesi görüntülerini okumak ve işlemek için nasıl kullanacağınız konusunda gerekli adımları sağlar. Kod örnekleriyle deney yaparak çıkarma sürecini özel gereksinimlerinize göre uyarlayın, kimlik belgesi verilerini işleme konusunda kesintisiz ve otomatik bir çözüm sunar.
Sıkça Sorulan Sorular
C# kullanarak kimlik belgelerinden nasıl metin çıkarabilirim?
IronSoftware'dan IronOCR isimli özel bir OCR kütüphanesi kullanarak, pasaportlar, kimlik kartları ve ehliyetler gibi çeşitli kimlik belgelerinden metin çıkarabilirsiniz. Visual Studio'da NuGet Paket Yöneticisi aracılığıyla IronOCR'yi yükleyebilir ve resimlerden ve PDF'lerden metin okumak için yöntemlerini kullanabilirsiniz.
Kimlik belgeleri için OCR kullanmanın faydaları nelerdir?
IronSoftware'dan IronOCR gibi OCR teknolojisi, kimlik belgelerinden metin çıkarılmasını otomatikleştirir, insan hatalarını azaltır ve veri alma verimliliğini artırır. Birden çok dili ve belge formatlarını desteklediğinden, finans, sağlık hizmetleri ve sınır kontrolü gibi uygulamalar için idealdir.
C# projesinde OCR kurmak için hangi adımlar atılmalıdır?
C# projesinde OCR kurmak için, Visual Studio'da yeni bir proje oluşturmanız, NuGet Paket Yöneticisi aracılığıyla IronOCR'yi yüklemeniz ve belgelerden metin okumak için API'sini kullanmanız gerekir. IronOCR, OCR yeteneklerini entegre etmenize yardımcı olacak kapsamlı belgeler ve örnekler sunar.
Daha iyi OCR sonuçları için görüntü kalitesini nasıl artırabilirim?
IronOCR, Köpürtme, Gürültü Giderme, İkili Çevirme, Çözünürlüğü Artırma ve Genişletme gibi görüntü kalitesini artırmak için özellikler içerir. Bu filtreler, düşük kaliteli görüntülerden metin tanımanın doğruluğunu artırır ve güvenilir veri çıkarımı sağlar.
OCR teknolojisi kimlik belgelerinde barkodları okuyabilir mi?
Evet, IronOCR kimlik belgelerinden barkod tanımayı destekler. Kullanımda olan metin ve barkod veri çıkarımı gerektiren uygulamalar için yararlı olan QR kodları da dahil olmak üzere 20'den fazla barkod türünü okuyabilir.
Kimlik doğrulamada OCR'nin belirli kullanım durumları var mı?
OCR, kimlik doğrulama için otomatik check-in uygulamaları, erişim kontrolü ve e-devlet hizmetleri gibi alanlarda yaygın olarak kullanılır. IronOCR, kimlik belgelerinden metin çıkarma ve doğrulama için gerekli araçları sağlar, güvenliği artırır ve süreçleri kolaylaştırır.
Çok dilli metin çıkarımını OCR ile nasıl yönetebilirim?
IronOCR, farklı dillerdeki belgelerden metin çıkarmayı sağlayan çok dilli destek sunar. Bu özellik, farklı dillerdeki belgelerin verimli bir şekilde işlenmesi gereken uluslararası uygulamalar için özellikle kullanışlıdır.
OCR kütüphaneleri için bir deneme sürümü mevcut mu?
Iron Software'dan IronOCR bir ücretsiz deneme sürümü sunar. Bir e-posta adresi sağlayarak deneme lisans anahtarı elde edebilir ve kütüphanenin özelliklerini satın alma kararı vermeden önce keşfedebilirsiniz.



