C#'da OCR Kullanarak Belirli Belgeler Nasıl Okunur

How to Read Specialized Documents with C# and IronOCR

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

Standart metin belgeleri, plaka levhaları, pasaportlar ve fotoğraflar için genel bir tek yöntemle özel belgeleri doğru okumak çok zordur. Bu zorluklar, her bir belge türünün farklı formatı, düzeni ve içeriğinden, ayrıca görüntü kalitesi, bozunma ve özel içerik gibi varyasyonlardan kaynaklanır. Ek olarak, bağlamsal bir anlayışa ulaşmak ve performans ile verimliliği dengelemek, belge türleri kapsamı genişledikçe daha karmaşık hale gelir.

IronOCR, optimum doğruluk ve performans elde etmek için standart metin belgeleri, plaka levhaları, pasaportlar ve fotoğraflar gibi belirli belgelerde OCR gerçekleştirmek için özel yöntemler tanıtır.

Hızlı Başlangıç: Pasaportu Tek Satırda Okuyun

IronOCR'nin ReadPassport uzantısını kullanarak, minimum kurulumla tüm önemli pasaport bilgilerini ayıklayın. IronOCR ve AdvancedScan'ı yüklediğinizi varsayarsak, tek bir satır kodla isimler, pasaport numarası, ülke ve daha fazlası gibi yapılandırılmış sonuç verilerini hızlı ve zahmetsizce elde edebilirsiniz.

  1. IronOCR aşağıdaki NuGet Paket Yöneticisi ile yükleyin

    PM > Install-Package IronOcr
  2. Bu kod parçacığını kopyalayın ve çalıştırın.

    var result = new IronTesseract().ReadPassport(new OcrInput().LoadImage("passport.jpg"));
  3. Canlı ortamınızda test için dağıtım yapın

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

    arrow pointer


Paket Hakkında

ReadLicensePlate, ReadPassport, ReadPhoto ve ReadScreenShot yöntemleri, temel IronOCR paketinin uzantı yöntemleridir ve IronOcr.Extensions.AdvancedScan paketinin yüklenmesini gerektirir.

Yöntemler, kara liste ve beyaz liste gibi OCR motoru yapılandırmalarıyla çalışır. ReadPassport yöntemi hariç tüm yöntemlerde Çince, Japonca, Korece ve LatinAlphabet dahil olmak üzere birden fazla dil desteklenir. Lütfen her dilin ek bir dil paketi gerektirdiğini unutmayın, IronOcr.Languages.

Gelişmiş taramanın .NET Framework'te kullanılması, projenin x64 mimarisinde çalışmasını gerektirir. Proje yapılandırmasına gidin ve bu seçeneği başarabilmek için '32-bit Tercih Et' seçeneğini kaldırın. Aşağıdaki sorun giderme kılavuzundan daha fazla bilgi edinin: ".NET Framework üzerinde İleri Tarama".

Doküman Okuma Örneği

ReadDocument yöntemi, taranmış belgeler veya çok fazla metin içeren kağıt belgelerin fotoğrafları konusunda uzmanlaşmış, sağlam bir belge okuma yöntemidir. PageSegmentationMode yapılandırması, farklı düzenlere sahip metin belgelerini okumakta çok önemlidir.

Örneğin, SingleBlock ve SparseText türleri tablo düzeninden birçok bilgi elde edebilirdi. Bu, SingleBlock metni bir blok olarak varsaydığından ve SparseText ise metnin belge boyunca dağınık olduğunu varsaydığından kaynaklanır.

:path=/static-assets/ocr/content-code-examples/how-to/read-specific-document-document.cs
using IronOcr;
using System;

// Instantiate OCR engine
var ocr = new IronTesseract();

// Configure OCR engine
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.SingleBlock;

using var input = new OcrInput();

input.LoadPdf("Five.pdf");

// Perform OCR
OcrResult result = ocr.ReadDocument(input);

Console.WriteLine(result.Text);
Imports IronOcr
Imports System

' Instantiate OCR engine
Private ocr = New IronTesseract()

' Configure OCR engine
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.SingleBlock

Dim input = New OcrInput()

input.LoadPdf("Five.pdf")

' Perform OCR
Dim result As OcrResult = ocr.ReadDocument(input)

Console.WriteLine(result.Text)
$vbLabelText   $csharpLabel

Aşağıdaki metodlar, temel IronOCR paketi için uzantı metodlarıdır ve IronOcr.Extensions.AdvancedScan paketinin kurulmasını gerektirir.

Plaka Levhası Okuma Örneği

ReadLicensePlate yöntemi, fotoğraflardan araç plakalarını okumak için optimize edilmiştir. Bu metoddan dönen özel bilgi, verilen belgede plaka levhasının yer bilgilerini içeren Licenseplate özelliğidir.

:path=/static-assets/ocr/content-code-examples/how-to/read-specific-document-license-plate.cs
using IronOcr;
using IronSoftware.Drawing;
using System;

// Instantiate OCR engine
var ocr = new IronTesseract();

using var inputLicensePlate = new OcrInput();

inputLicensePlate.LoadImage("LicensePlate.jpeg");

// Perform OCR
OcrLicensePlateResult result = ocr.ReadLicensePlate(inputLicensePlate);

// Retrieve license plate coordinates
Rectangle rectangle = result.Licenseplate;

// Retrieve license plate value
string output = result.Text;
Imports IronOcr
Imports IronSoftware.Drawing
Imports System

' Instantiate OCR engine
Private ocr = New IronTesseract()

Private inputLicensePlate = New OcrInput()

inputLicensePlate.LoadImage("LicensePlate.jpeg")

' Perform OCR
Dim result As OcrLicensePlateResult = ocr.ReadLicensePlate(inputLicensePlate)

' Retrieve license plate coordinates
Dim rectangle As Rectangle = result.Licenseplate

' Retrieve license plate value
Dim output As String = result.Text
$vbLabelText   $csharpLabel

Pasaport Okuma Örneği

ReadPassport yöntemi, okuma için optimize edilmiştir ve makine tarafından okunabilir bölge (MRZ) içeriğini tarayarak pasaport fotoğraflarından pasaport bilgilerini çıkarır. Bir MRZ, pasaportlar, kimlik kartları ve vizeler gibi resmi belgelerde özel olarak tanımlanmış bir bölgedir. MRZ genellikle, sahibinin adı, doğum tarihi, uyruk ve belge numarası gibi önemli kişisel bilgileri içerir. Bu method şu anda yalnızca İngilizce dilini desteklemektedir.

:path=/static-assets/ocr/content-code-examples/how-to/read-specific-document-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);
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 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)
$vbLabelText   $csharpLabel

Sonuç

Pasaport Oku

Lütfen belgenin yalnızca pasaport görüntüsünü içerdiğinden emin olun. Herhangi bir üst bilgi ve alt bilgi metni metodda karışıklığa yol açabilir ve beklenmedik bir çıktı ile sonuçlanabilir.

Fotoğraf Okuma Örneği

ReadPhoto yöntemi, okunması zor metinler içeren görüntüleri okumak için optimize edilmiştir. Bu yöntem, tespit edilen metin hakkında faydalı bilgiler içeren TextRegions özelliğini döner, bu bilgiler arasında Region, TextInRegion ve FrameNumber bulunur.

:path=/static-assets/ocr/content-code-examples/how-to/read-specific-document-photo.cs
using IronOcr;
using IronSoftware.Drawing;

// Instantiate OCR engine
var ocr = new IronTesseract();

using var inputPhoto = new OcrInput();
inputPhoto.LoadImageFrame("photo.tif", 2);

// Perform OCR
OcrPhotoResult result = ocr.ReadPhoto(inputPhoto);

// index number refer to region order in the page
int number = result.TextRegions[0].PageNumber;
string textinregion = result.TextRegions[0].TextInRegion;
Rectangle region = result.TextRegions[0].Region;
Imports IronOcr
Imports IronSoftware.Drawing

' Instantiate OCR engine
Private ocr = New IronTesseract()

Private inputPhoto = New OcrInput()
inputPhoto.LoadImageFrame("photo.tif", 2)

' Perform OCR
Dim result As OcrPhotoResult = ocr.ReadPhoto(inputPhoto)

' index number refer to region order in the page
Dim number As Integer = result.TextRegions(0).PageNumber
Dim textinregion As String = result.TextRegions(0).TextInRegion
Dim region As Rectangle = result.TextRegions(0).Region
$vbLabelText   $csharpLabel

Ekran Görüntüsü Okuma Örneği

ReadScreenShot yöntemi, okunması zor metinler içeren ekran görüntülerini okumak için optimize edilmiştir. Fotoğraf Okuma metoduna benzer şekilde, aynı zamanda TextRegions özelliğini de döner.

:path=/static-assets/ocr/content-code-examples/how-to/read-specific-document-screenshot.cs
}
using IronOcr;
using System;
using System.Linq;

// Instantiate OCR engine
var ocr = new IronTesseract();

using var inputScreenshot = new OcrInput();
inputScreenshot.LoadImage("screenshot.png");

// Perform OCR
OcrPhotoResult result = ocr.ReadScreenShot(inputScreenshot);

// Output screenshoot information
Console.WriteLine(result.Text);
Console.WriteLine(result.TextRegions.First().Region.X);
Console.WriteLine(result.TextRegions.Last().Region.Width);
Console.WriteLine(result.Confidence);
}
Imports IronOcr
Imports System
Imports System.Linq

' Instantiate OCR engine
Private ocr = New IronTesseract()

Private inputScreenshot = New OcrInput()
inputScreenshot.LoadImage("screenshot.png")

' Perform OCR
Dim result As OcrPhotoResult = ocr.ReadScreenShot(inputScreenshot)

' Output screenshoot information
Console.WriteLine(result.Text)
Console.WriteLine(result.TextRegions.First().Region.X)
Console.WriteLine(result.TextRegions.Last().Region.Width)
Console.WriteLine(result.Confidence)
}
$vbLabelText   $csharpLabel

Sıkça Sorulan Sorular

C# dilinde OCR kullanarak plakaları nasıl okuyabilirim?

IronOCR tarafından sağlanan ReadLicensePlate yöntemi ile plakaları fotoğraflardan doğru bir şekilde okuyabilirsiniz. Bu yöntem, plaka metnini ve konum detaylarını döndürür.

Pasaport fotoğraflarından bilgi çıkarmanın en iyi yolu nedir?

IronOCR'un ReadPassport metodu, pasaport fotoğraflarındaki Makine Okunabilir Bölgeyi (MRZ) taramak üzere tasarlanmış olup, isim, doğum tarihi ve belge numarası gibi temel bilgileri çıkarmaktadır.

IronOCR zorlu metin içeren fotoğraflardan metin okuyabilir mi?

Evet, IronOCR'daki ReadPhoto metodu, zor okunabilen metin içeren görüntüleri okumaya optimize edilmiştir ve algılanan metin hakkında ayrıntılı veri sağlar.

IronOCR'u ekran görüntülerinden metin okumak için kullanmak mümkün mü?

Kesinlikle, IronOCR'un ReadScreenShot yöntemi ekran görüntülerindeki metni işlemek için özellikle optimize edilmiştir ve ayrıntılı metin bölge bilgisi sağlar.

Karmaşık düzenlere sahip belgeler için OCR doğruluğunu nasıl artırabilirim?

Karmaşık belge düzenleri için OCR doğruluğunu artırmak amacıyla IronOCR'de PageSegmentationMode'i yapılandırın. TekBlok ve SeyrekMetin gibi seçenekler, tablo düzenlerinden bilgi çıkarmak için özellikle faydalıdır.

IronOCR'un gelişmiş tarama özellikleri .NET Framework projemde çalışmıyorsa ne yapmalıyım?

Projenizi .NET Framework'te IronOCR'un gelişmiş tarama özellikleriyle ilgili sorunları gidermek için 'Tercihen 32-bit' seçeneğinin işaretini kaldırarak x64 mimarisinde çalışacak şekilde ayarlayın.

IronOCR'de dil desteği sınırlamaları var mı?

IronOCR, Çince, Japonca, Korece ve Latin Alfabesi dahil olmak üzere birden çok dili destekler. Ancak, ReadPassport yöntemi şu anda sadece İngilizce belgeleri desteklemektedir.

IronOCR'da gelişmiş tarama özelliklerini kullanmak için neye ihtiyacım var?

IronOCR'da gelişmiş tarama özelliklerini kullanmak için IronOcr.Extensions.AdvancedScan paketi gereklidir ve bu paket yalnızca Windows üzerinde mevcuttur.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 5,896,332 | Sürüm: 2026.5 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronOcr
örnek çalıştır görüntünüzün aranabilir metin haline gelmesini izleyin.