IRONSOFTWAREHOME

Gelişmiş Okuma için OCR Yapılandırması

Curtis Chau
Curtis Chau
Updated: 4 Haziran 2026

IronOCR, standart OCR'nin ötesine geçen ReadPassport, ReadLicensePlate ve ReadPhoto gibi gelişmiş tarama okuma yöntemleri sunar. Bu yöntemler IronOcr.Extensions.AdvancedScan paketi tarafından desteklenmektedir. Bu yöntemlerin metni nasıl işlediğini ince ayarlamak için IronOCR, karakter beyaz listeleme, kara listeleme, barkod tespiti, veri tablosu okuma ve daha fazlası üzerinde tam kontrol sağlayan TesseractConfiguration sınıfını kullanıma sunar.

Bu makale, gelişmiş okuma için mevcut TesseractConfiguration özellikleri ve gerçek dünya senaryolarında OCR'yi yapılandırmak için pratik örnekler üzerinde durmaktadır.

Hızlı Başlangıç: OCR Çıktısını Karakter Beyaz Listesine Sınırlama

Çağırmadan önce WhiteListCharacters üzerinde TesseractConfiguration ayarlayın Read. Beyaz listede olmayan herhangi bir karakter sonuçta sessizce bırakılır, bu şekilde hiçbir ek işleme gerek kalmadan gürültü ortadan kaldırılır.

  1. 1Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. 2Bu kod parçacığını kopyalayın ve çalıştırın.

    var result = new IronTesseract() { Configuration = new TesseractConfiguration { WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789- " } }.Read(new OcrInput("image.png")); Console.WriteLine(result.Text);
    C#
  3. 3Canlı ortamınızda test için dağıtım yapın

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

TesseractConfiguration Özellikleri

TesseractConfiguration sınıfı, OCR davranışını özelleştirmek için aşağıdaki özellikleri sağlar. Bunlar IronTesseract.Configuration aracılığıyla ayarlanır.

ÖzellikTürAçıklama
BeyazListKarakterlerstringBu dizede bulunan yalnızca karakterler OCR çıktısında tanınır. Diğer tüm karakterler hariç tutulur.
KaraListKarakterlerstringBu dizedeki karakterler aktif olarak göz ardı edilir ve OCR çıktısından çıkarılır.
ReadBarCodesboolOCR işlemi sırasında belge içinde barkod algılama işlemini etkinleştirir veya devre dışı bırakır.
ReadDataTablesboolTesseract kullanarak belge içinde tablo yapısı algılamasını etkinleştirir veya devre dışı bırakır.
SayfaSegmentasyonModuTesseractSayfaSegmentasyonModuTesseract'ın giriş görüntüsünü nasıl segmentasyona ayıracağını belirler. Seçenekler arasında AutoOsd, Auto, SingleBlock, SingleLine, SingleWord ve daha fazlası bulunur.
AranabilirPdfRendereEtboolEtkinleştirildiğinde OCR çıktısı, görünmez metin katmanıyla aranabilir bir PDF olarak kaydedilebilir.
HocrRendereEtboolEtkinleştirildiğinde, OCR çıktısı daha fazla işlem veya dışa aktarma için hOCR verilerini içerir.
TesseractVariablesDictionary<string, object>Ayrıntılı kontrol için düşük seviyeli Tesseract yapılandırma değişkenlerine doğrudan erişim sağlar.

TesseractVariables sözlüğü daha da ileri giderek yüksek seviyeli özelliklerin yeterli olmadığı durumlarda yüzlerce altta yatan Tesseract motoru parametresini ortaya çıkarır.

Aşağıdaki örnekler, karakter beyaz listelemesiyle başlayarak her özellik grubunu göstermektedir.

Plaka için Karakter Beyaz Listesi Kurulumu

WhiteListCharacters için yaygın bir kullanım durumu, OCR çıktısını yalnızca bir plaka üzerinde görünebilecek karakterlerle sınırlamaktır: büyük harfler, rakamlar, kısa çizgiler ve boşluklar. Bu, motoru beklenmedik karakter kümesinin dışına çıkmaya teşvik ederek gürültüyü elimine eder ve doğruluğu artırır.

Giriş

Aşağıdaki araç kaydı kaydı, büyük harfli metin, küçük harfli metin, özel semboller (@, $, #, |, *), ve noktalama işaretlerini içerir.

Araç kaydı kaydında karışık karakterler için OCR beyaz listelemesi gösterimi

BlackListCharacters, , and *` gibi bilinen gürültü sembollerini aktif olarak dışlayarak beyaz listeyi tamamlar.

using IronOcr;

// Initialize the Tesseract OCR engine
IronTesseract ocr = new IronTesseract();

ocr.Configuration = new TesseractConfiguration
{
    // Whitelist only characters that appear on license plates
    WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789- ",

    // Blacklist common noise characters
    BlackListCharacters = "`~@#$%&*",
};

var ocrInput = new OcrInput();
// Load the input image
ocrInput.LoadImage("advanced-input.png");
// Perform OCR on the input image with ReadPhoto method
var results = ocr.ReadPhoto(ocrInput);

// Print the filtered text result to the console
Console.WriteLine(results.Text);

Çıktı

OCR çıktısı yalnızca beyaz listelenen plaka karakterlerini gösterir

Beyaz listeleme filtrelemesi sonuçlarda açıkça görülmektedir:

  • "Plaka: ABC-1234" "P ABC-1234" olur. Küçük harf "geç" kelimesi bırakılırken, plaka numarası olduğu gibi korunur.
  • "Şasi No: 1HGBH41JXMN109186" "Şasi No 1HGBH41JXMN109186" olur. İki nokta bırakılır, ancak büyük harfli şasi no ve tam sayı korunur.
  • "Sahibi: john.doe@email.com" "S" olur. Tüm küçük harfli e-posta ve noktalama işaretleri kaldırılır.
  • "Bölge: CA-90210 | Bölge #5" olur "B CA-90210 Z 5". Boru (|) and hash (#) kaldırılırken, büyük harfler ve rakamlar kalır.
  • "Ücret: $125.00 + vergi"* "U 12500" olur. Dolar işareti, ondalık nokta, artı işareti ve küçük harfli "vergi" tamamen kaldırılır.
  • "Referans: ~kayıt_v2^son" "R 2" olur. Tilde (~), alt çizgi, şapka (^) ve tüm küçük harfli karakterler çıkarılır.

Aynı WhiteListCharacters ve BlackListCharacters yaklaşımı yalnızca plaka değil, herhangi bir belge türü için çalışır. Bir sonraki bölüm, okunmayı aynı anda genişletmek ve barkodları ve tablo yapılarını algılamayı gösterir.

Barkod ve Veri Tablosu Okuma Yapılandırması

IronOCR, belgeler içindeki metinlerin yanı sıra barkodları ve yapılandırılmış tabloları algılayabilir. Bu özellikler TesseractConfiguration aracılığıyla kontrol edilir:

IronTesseract ocr = new IronTesseract();

ocr.Configuration = new TesseractConfiguration
{
    // Enable barcode detection within documents
    ReadBarCodes = true,

    // Enable table structure detection
    ReadDataTables = true,
};
  • ReadBarCodes: true ayarlandığında, IronOCR metinlerin yanı sıra belgede barkodları tarar. Barkodların beklenmediği durumlarda barkod tespitini atlamak ve işlemi hızlandırmak için false ayarlayın.
  • ReadDataTables: true ayarlandığında, Tesseract belgede tablo yapılarını tespit etmeye ve korumaya çalışır. Bu, faturalar, raporlar ve diğer tablo içeren belgeler için yararlıdır.

Bu seçenekler WhiteListCharacters ve BlackListCharacters ile birleşebilir, karmaşık belgelerden neyin çıkarılacağı üzerinde hassas kontrol sağlar.

Filtreleme ve algılama, neyin çıkarılacağını kontrol ederken, düzen yorumlama ayrı bir endişe konusudur. Bir sonraki bölüm, belge türü için doğru PageSegmentationMode seçimi nasıl yapılır üzerinde durmaktadır.

Sayfa Segmentasyonu Modunu Kontrol Etme

PageSegmentationMode, tanıma başlamadan önce giriş görüntüsünü nasıl segmentleyeceğini Tesseract'a bildirir. Belirli bir düzen için yanlış modun seçilmesi, motorun metinleri yanlış okumasına veya tamamen atlamasına neden olur.

ModKullanım Durumu
AutoOsdOryantasyon ve yazı algılama ile otomatik düzen analizi
AutoOSD olmaksızın otomatik düzen analizi (varsayılan)
SingleColumnResmin tek bir metin sütunu olduğu varsayılır
SingleBlockResmin tek bir tekdüze metin bloğu olduğu varsayılır
SingleLineResmin tek bir metin satırı olduğu varsayılır
SparseTextHerhangi bir sıralamada mümkün olduğunca fazla metni bulur

Tek satırlık bir etiket veya afiş için SingleLine çok bloklu analizi ortadan kaldırır ve hem hız hem de doğruluğu artırır.

Giriş

single-line-label.png, tam olarak bir satır kalın Courier metni içeren dar bir gönderi etiketidir: SHIPPING LABEL: TRK-2024-XR9-001.

Tek satırlı nakliye etiketi için OCR SingleLine segmentasyon modu
IronTesseract ocr = new IronTesseract();

ocr.Configuration = new TesseractConfiguration
{
    PageSegmentationMode = TesseractPageSegmentationMode.SingleLine,
};

using OcrInput input = new OcrInput();
input.LoadImage("single-line-label.png");

OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);

Metin yerleşiminin düzensiz olduğu bir taranmış sayfa için, SparseText, Auto'den daha fazla içerik kurtarır.

Giriş

receipt-scan.png, dört satırlık öğe (kahve, muffin, meyve suyu, granola bar), kesikli bir ayırıcı, ara toplam, vergi ve toplam içeren bir Corner Market termal fişidir. Bu tür bir düzende sabit blok segmentasyonu, farklı yatay pozisyonlardaki girdileri kaçırır.

Termal fiş için OCR SparseText segmentasyon modu
IronTesseract ocr = new IronTesseract();

ocr.Configuration = new TesseractConfiguration
{
    PageSegmentationMode = TesseractPageSegmentationMode.SparseText,
};

using OcrInput input = new OcrInput();
input.LoadImage("receipt-scan.png");

OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);

Düzen segmentasyonu belge türüne göre ayarlandıktan sonra, sonraki adım, sonraki işlemler için çıkış formatını kontrol etmektir.

Aranabilir PDF'ler ve hOCR Çıktısı Üretme

RenderSearchablePdf ve RenderHocr, IronOCR'nin düz metin sonucunun yanı sıra ürettiği çıktı formatlarını kontrol eder.

RenderSearchablePdf, taranmış görüntü görünür durumda kalırken kullanıcıların arama ve kopyalama yapabildikleri bir PDF üreterek, orijinal görüntünün üzerine görünmez bir metin katmanı ekler. Bu, belge arşivleme iş akışları için standart çıktı formatıdır.

Giriş

scanned-document.pdf, IronOCR Solutions Ltd.'den gelen (15 Mart 2024 tarihli, referans DOC-2024-OCR-0315) tek sayfalık bir iş mektubudur. Sonuç searchable-output.pdf olarak kaydedilir.

IronTesseract ocr = new IronTesseract();

ocr.Configuration = new TesseractConfiguration
{
    RenderSearchablePdf = true,
};

using OcrInput input = new OcrInput();
input.LoadPdf("scanned-document.pdf");

OcrResult result = ocr.Read(input);
result.SaveAsSearchablePdf("searchable-output.pdf");

Çıktı

Çıkış, girişle aynı görünen ancak gizli bir metin katmanı içeren bir PDF'dir. searchable-output.pdf açın ve gömülü metnin aranabilir ve kopyalanabilir olduğunu doğrulamak için Ctrl+F kullanın.

RenderHocr, her kelime için sınırlayıcı kutu koordinatları ile birlikte metin içeriğini kodlayan bir HTML dosyası olan hOCR belgesi üretir. Bu, redaksiyon motorları veya belge düzen analizi gibi sonraki araçların kesin kelime konumlandırmasına ihtiyaç duyduğu durumlarda yararlıdır.

Giriş

document-page.png, başlığı 'Quarterly Summary Q1 2024' olan ve gelir, işletme maliyetleri ve büyüme sürücüleriyle ilgili iki paragraf mali veri içeren bir belge sayfasıdır. Sonuç output.html olarak kaydedilir.

hOCR sınır kutusu çıktısı için belge sayfa girdisi
IronTesseract ocr = new IronTesseract();

ocr.Configuration = new TesseractConfiguration
{
    RenderHocr = true,
};

using OcrInput input = new OcrInput();
input.LoadImage("document-page.png");

OcrResult result = ocr.Read(input);
result.SaveAsHocrFile("output.html");

Çıktı

output.html, her tanınan kelimeyi sınırlayıcı kutu koordinatlarıyla birlikte kodlar. hOCR yapısını incelemek için dosyayı tarayıcıda açın veya düzen analizi ya da sansür için bir alt akış aracına geçirin.

Eğer tek bir okuma çağrısından tüm üç çıktı formatına (düz metin, aranabilir PDF ve hOCR) ihtiyacınız varsa, her iki bayrak da aynı anda etkinleştirilebilir.

Bu çıkış bayrakları, okunan dilden bağımsız olarak çalışır; Latin olmayan yazılar da dahil. Bir sonraki bölüm, Japonca metin için karakter filtrelemeyi nasıl uygulayacağınızı gösterir.

Uluslararası Belgeler için Unicode Karakter Filtreleme

Çince, Japonca veya Korece uluslararası belgeler için, WhiteListCharacters ve BlackListCharacters özellikleri Unicode karakterleriyle çalışır. Bu, çıktıyı spesifik yazılarla sınırlamanıza olanak tanır, örneğin Japonca için yalnızca Hiragana ve Katakana.

Lütfen dikkate alın: İlgili dil paketinin kurulu olduğundan emin olun (örneğin, IronOcr.Languages.Japanese) geçmeden önce.

Giriş

Belge, bir başlık (テスト), Hiragana ve Katakana'nın sesli işaret varyantları ile karışık Japonca bir cümle (プ, で), kara listeye alınmış gürültü sembolleri (★, ■) ve Kanji (価格) içeren bir fiyat satırı ve başka bir kara listeye alınmış sembol (§), daha fazla Kanji (購入), ek sesli işaret varyantları (プ, デ) ve temel Katakana (メモ, ール) içeren bir not çizgisi içerir. Beyaz liste yalnızca temel Hiragana, temel Katakana, rakamlar ve genel Japonca noktalama işaretlerini geçer; üç gürültü sembolü açıkça kara listeye alınmıştır.

OCR gelişmiş yapılandırma Japonca girdi

Hiragana ve Katakana için Unicode karakter aralıkları, WhiteListCharacters içinde dize değişmezleri olarak geçirilir ve BlackListCharacters içinde listelenen gürültü sembolleri bulunur.

Uyarı: Konsol, Unicode karakterlerini görüntülemeyi desteklemeyebilir. Çıktıyı bir .txt dosyasına yönlendirmek, bu tür karakterlerle başa çıkarken sonuçları doğrulamanın güvenilir bir yoludur.
using IronOcr;
using System.IO;

IronTesseract ocr = new IronTesseract();

ocr.Configuration = new TesseractConfiguration
{
    // Whitelist only Hiragana, Katakana, numbers, and common Japanese punctuation
    WhiteListCharacters = "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん" +
                            "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲン" +
                            "0123456789、。?!()¥ー",

    // Blacklist common noise/symbols you want to ignore
    BlackListCharacters = "★■§",
};

var ocrInput = new OcrInput();

// Load Japanese input image
ocrInput.LoadImage("jp.png");

// Perform OCR on the input image with ReadPhoto method
var results = ocr.ReadPhoto(ocrInput);

// Write the text result directly to a file named "output.txt"
File.WriteAllText("output.txt", results.Text);

// You can add this line to confirm the file was saved:
Console.WriteLine("OCR results saved to output.txt");

Çıktı

OCR gelişmiş yapılandırma Japonca çıktı

Filtrelenmiş tam çıktı, bir metin dosyası olarak mevcuttur: jp-output.txt.

Beyaz liste sadece temel Hiragana ve Katakana karakterlerini içerdiği için, türetilmiş sesli işaret varyantları gibi プ (pu) ve デ (de) düşürülür. 価格 (fiyat) ve 購入 (satın alma) gibi Kanji karakterleri de beyaz listeye alınmamış karakter setine düştüğü için dışarıda bırakılır. , ve § gibi kara listeye alınmış semboller, beyaz listeye rağmen aktif olarak kaldırılır.

Sıradaki Adım Neresi Olmalı?

Şimdi IronOCR'yi gelişmiş okuma senaryoları için nasıl yapılandıracağınızı anladığınıza göre, keşfedin:

Üretim kullanımı için, filigranları kaldırmak ve tam işlevselliğe erişmek üzere bir lisans edinin unutmayın.

Sıkça Sorulan Sorular

IronOCR içinde TesseractConfiguration nedir?

IronOCR'da TesseractConfiguration, karakter beyaz listeleri, barkod okuma ve çok dilli destek gibi gelişmiş okuma yeteneklerini etkinleştirmenizi sağlayan OCR ayarlarını özelleştirmenize olanak tanır.

IronOCR'da karakter beyaz listesini nasıl ayarlayabilirim?

IronOCR'da, TesseractConfiguration'ı kullanarak bir karakter beyaz listesi ayarlayabilirsiniz, bu da OCR motorunun hangi karakterleri tanıması gerektiğini belirtmenize izin verir. Bu, plaka okuma gibi görevler için faydalıdır.

IronOCR barkodları ve veri tablolarını okuyabilir mi?

Evet, IronOCR, TesseractConfiguration özelliklerinde belirli ayarları değiştirerek barkodlar ve veri tabloları okuyacak şekilde yapılandırılabilir, bu da doğru OCR veri çıkarımı sağlar.

IronOCR, Çince, Japonca ve Korece gibi uluslararası dilleri destekliyor mu?

IronOCR, çok dilli TesseractConfiguration seçenekleri aracılığıyla Çince, Japonca ve Korece gibi uluslararası dilleri destekler.

IronOCR'da ileri düzey OCR yapılandırmalarını kullanmanın faydaları nelerdir?

IronOCR'da ileri düzey OCR yapılandırmalarından yararlanmak, dil odaklı metin tanıma ve yapılandırılmış veri çıkarımı gibi özel görevlerin desteklenmesiyle daha hassas ve verimli metin tanıma sağlar.

IronOCR'u belirli OCR görevleri için optimize etmek mümkün mü?

Evet, IronOCR, karakter beyaz listeleri gibi ayarları yapılandırarak ve barkod veya tablo tanımayı etkinleştirerek belirli OCR görevleri için optimize edilebilir, hedeflenen uygulamalar için performansı artırır.

IronOCR'da çok dilli desteği nasıl etkinleştiririm?

IronOCR'da çok dilli desteği etkinleştirmek için, TesseractConfiguration'daki dil ayarlarını değiştirerek, OCR motorunun birden fazla dildeki metni tanıyabilmesine olanak tanıyabilirsiniz.

Karakter beyaz listeleri nedir ve IronOCR'de nasıl kullanılır?

IronOCR'deki karakter beyaz listeleri, OCR motorunun tanıması için yapılandırılmış belirli karakterlerin bir listesidir, sayısal veya belirli metin desenlerini okuma gibi odaklanmış görevler için idealdir.

IronOCR, yapılandırılmış veri formatlarını okumak için kullanılabilir mi?

Evet, IronOCR, barkodlar ve tablolar gibi yapılandırılmış veri formatlarını okumak ve işlemek için yapılandırılabilir ve çeşitli veri çıkarım ihtiyaçları için çok yönlü OCR yetenekleri sağlar.

IronOCR'da ileri düzey metin tanıma için hangi yapılandırmalar mevcuttur?

IronOCR, belirli gereksinimlere göre ileri düzey metin tanıma yeteneklerini artırmak için karakter beyaz listeleri, çok dilli destek ve barkod tanıma gibi yapılandırmalar sunar.

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ılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

Başlamaya Hazır mısınız?

Nuget Downloads 6,236,385Sürüm:2026.9yeni yayınlandı

Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez
PDF için C# NuGet Kütüphanesi
NuGet ile yükleyin

Sürüm: 2026.9

PM > Install-Package IronOcr
nuget.org/packages/IronOcr/
  1. Çözüm Gezgini'nde Referanslar'a sağ tıklayın, NuGet Paketlerini Yönet
  2. "IronOCR" aratıp seçin
  3. Paketi seçin ve yükleyin
C# PDF DLL
DLL İndir

Sürüm: 2026.9

veya buradan Windows Yükleyicisini indirin.

  1. IronOCR'u ~/Libs gibi bir yere indirip sıkıştırmasını açın, Çözüm dizininizde
  2. Visual Studio Çözüm Gezgini'nde, Referanslar'a sağ tıklayın. Gözat'ı seçin, "IronOCR.dll"

$999'dan itibaren lisanslar

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez