C#'da OCR Kullanarak Belirli Belgeleri 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, plakalar, pasaportlar ve fotoğraflar gibi belirli belgeleri, genel bir yöntemde tekil olarak okumak oldukça zordur. Bu zorluklar, her bir belge türünün çeşitli formatları, düzenleri ve içerikleri ile görüntü kalitesi, distorsiyon ve özel içerik varyasyonlarından kaynaklanmaktadır. Ek olarak, bağlam anlama yeteneği elde etmek ve performans ve verimlilik dengesini sağlamak geniş bir belge türü kapsamı ile daha karmaşık hale gelir.

IronOCR, standart metin belgeleri, plaka numaraları, pasaportlar ve fotoğraflar gibi belirli belgelerde OCR gerçekleştirmek için özel yöntemler sunar; böylece en iyi doğruluk ve performansı sağlamak mümkün olur.

Hızlı Başlangıç: Tek Satırda Pasaport Oku

IronOCR'nin ReadPassport uzantısını kullanarak tüm anahtar pasaport bilgilerini minimum kurulumla çıkartın. IronOCR ve AdvancedScan'i yüklediğinizi varsayarak, sadece bir satır kod ile isimler, pasaport numarası, ülke ve benzeri yapılandırılmış sonuç verileri hızlı ve zahmetsizce elde edeceksiniz.

  1. NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronOcr yükleyin

    PM > Install-Package IronOcr
  2. Bu kod parçasını kopyalayıp çalıştırın.

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

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

    arrow pointer


Paket Hakkında

ReadLicensePlate, ReadPassport, ReadPhoto, ve ReadScreenShot metodları, temel IronOCR paketine ekleme metodlarıdır ve IronOcr.Extensions.AdvancedScan paketinin yüklenmesini gerektirir.

Metodlar, kara liste ve beyaz liste gibi OCR motoru yapılandırmaları ile çalışır. Metodların tümü dışında ReadPassport metodu, Çince, Japonca, Korece ve Latin Alfabesi gibi birden çok dili destekler. Dikkat edin, her bir dil ek bir dil paketi gerektirir, IronOcr.Languages.

.NET Framework üzerinde gelişmiş tarama kullanmak, projenin x64 mimarisinde çalıştırılmasını gerektirir. Bu hedefe ulaşmak için proje yapılandırmasına gidin ve "32-bit Tercih Et" seçeneğinin işaretini kaldırın. Aşağıdaki sorun giderme kılavuzunda daha fazla bilgi edinin: "Advanced Scan on .NET Framework."

Belge Okuma Örneği

ReadDocument yöntemi, taranan belgeler veya çok miktarda metin içeren kağıt belgelerin fotoğraflarında uzmanlaşmış sağlam bir belge okuma yöntemidir. PageSegmentationMode yapılandırması, farklı düzenlere sahip metin belgelerinin okunmasında çok önemlidir.

Örneğin, SingleBlock ve SparseText türleri, yapılandırmadan çok fazla bilgi alabilir. Bu, SingleBlock metnin blok olarak kalmasını varsaydığı ve SparseText metnin belgelerde dağılmış olduğunu varsaydığı için geçerlidir.

: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 yöntemler IronOCR temel paketine ek yöntemler olup, IronOcr.Extensions.AdvancedScan paketinin yüklenmesi gereklidir.

Plaka Okuma Örneği

ReadLicensePlate metodu, fotoğraflardan plaka okumak için optimize edilmiştir. Bu yöntemden elde edilen özel bilgi, sağlanan belgedeki plaka konumunun 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 metodu, makineyle okunabilir bölge (MRZ) içeriklerini tarayarak pasaport fotoğraflarından pasaport bilgilerini çıkarmak için optimize edilmiştir. MRZ normalde pasaportlar, kimlik kartları ve vizelerde bulunan resmi belgelerde özel olarak tanımlanmış bir alandır. MRZ genellikle sahibinin adı, doğum tarihi, uyruk ve belge numarası gibi temel kişisel bilgileri içerir. Şu anda, bu yöntem yalnızca İngilizce dili destekler.

: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 belgede yalnızca pasaport görüntüsünün bulunduğundan emin olun. Başlık ve alt bilgisi metni yöntemi karıştırabilir ve beklenmeyen bir çıktı verebilir.

Fotoğraf Okuma Örneği

ReadPhoto metodu, okunması zor metin içeren görüntüler için optimize edilmiştir. Bu yöntem, tespit edilen metnin Bölge, Bölgedeki Metin ve Çerçeve Numarası gibi faydalı bilgilerini içeren TextRegions özelliğini döndürür.

: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 metodu, okunması zor metin içeren ekran görüntüleri için optimize edilmiştir. ReadPhoto yöntemine benzer şekilde, TextRegions özelliğini de döndürür.

: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#'da OCR kullanarak plakaları nasıl okuyabilirim?

IronOCR'un sağladığı ReadLicensePlate yöntemini kullanarak fotoğraflardan plakaları 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 yöntemi, pasaport fotoğraflarındaki makine tarafından okunabilir bölgeyi (MRZ) tarayarak, isim, doğum tarihi ve belge numarası gibi temel bilgileri çıkarır.

IronOCR, zor okunan metne sahip fotoğraflardan metin okuyabilir mi?

Evet, IronOCR'daki ReadPhoto yöntemi, zor okunan metin içeren görüntüleri okumak için optimize edilmiştir ve algılanan metin ve bölgeleri hakkında ayrıntılı veri sağlar.

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

Kesinlikle, IronOCR'un ReadScreenShot yöntemi, ekran görüntülerindeki metni işlemek için özel olarak optimize edilmiştir ve ayrıntılı metin bölgesi 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 için IronOCR'da PageSegmentationMode'i yapılandırın. TekBlok ve GenişMetin gibi seçenekler, tablo düzenlerinden bilgi çıkarırken özellikle faydalıdır.

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

Projenizi x64 mimarisinde çalışacak şekilde ayarladığınızdan emin olun ve IronOCR'daki gelişmiş tarama özellikleriyle ilgili sorunları çözmek için proje ayarlarınızda 'Tercih Et 32-bit' seçeneğini işaretini kaldırın.

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

IronOCR, Çince, Japonca, Korece ve LatinAlfabesi dahil olmak üzere birden fazla dili destekler. Ancak, ReadPassport yöntemi şu anda yalnızca İngilizce belgeleri desteklemektedir.

IronOCR'daki gelişmiş tarama özelliklerini kullanmam için ne gerekiyor?

IronOCR'daki gelişmiş tarama özelliklerini kullanmak için, yalnızca Windows'ta mevcut olan IronOcr.Extensions.AdvancedScan paketine ihtiyaçınız vardır.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 5,585,834 | Sürüm: 2026.4 just released
Still Scrolling Icon

Hala Kaydiriyor musunuz?

Hızlı bir kanit mi istiyorsunuz? PM > Install-Package IronOcr
örnekleri çalıştır resminizin aranabilir metne donuşünü izleyin.