How to Read Specialized Documents with C# and IronOCR
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.
-
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 result = new IronTesseract().ReadPassport(new OcrInput().LoadImage("passport.jpg")); -
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)
- Araç plakalarını, pasaportları ve fotoğrafları okumak için bir C# kitaplığı indirin
- Görseli ve PDF belgesini OCR için hazırlayın
ReadLicensePlatemetodunu bir araç plakasını okumak için ayarlayınReadPassportmetodunu bir pasaporttan bilgi almak için ayarlayın- Leverage the
ReadPhotoand `ReadScreenShot` methods to read images that contain hard-to-read text
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)
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
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)
Sonuç
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
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)
}
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.

