IRONSOFTWAREHOME

Tesseract 5 ile C# dilinde Özel Bir Font Nasıl Eğitilir

Kannaopat Udonpant
Kannapat Udonpant
Updated: 4 Haziran 2026

Varsayılan Tesseract İngilizce modeli, birçok gerçek dünya girdilerini yanlış okur: hastane el yazısı başvuru formları, eski kitap sayısallaştırmaları, bir oyun stüdyosunun özel dekoratif yazı tipi veya bir genel OCR motorunun hiç görmediği sektör spesifik semboller. Çözüm, Tesseract'ı tam olarak kendiniz eğitmek ve her yerde çalıştırabileceğiniz tek bir .traineddata eseri üretmektir.

Bu kılavuz, C#'ta baştan sona özel Tesseract 5 font eğitimi gerçekleştirir: WSL2 Ubuntu araç zincirini kurun, .box ve .tif eğitim dosyalarınızı .ttf veya .otf dosyalarından oluşturun, bir taban eng.traineddata tabanına karşı tesstrain ile .traineddata modelini oluşturun, ardından sonucu IronOCR'de yükleyin. Eğitim tamamlandıktan sonra, dosya Windows, macOS, Linux ve Docker üzerinde taşınabilirdir.

Hızlı Başlangıç: Eğitilmiş Font Dosyanızı C#'te Kullanın

IronOCR yapılandırmak için UseCustomTesseractLanguageFile 'i eğitilmiş .traineddata dosyasına yönlendirin ve ardından herhangi bir görüntü üzerindeki Read işlevini, standart dil paketinde yaptığınız gibi kullanın.

  1. 1Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

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

    using IronOcr;
    
    var ocr = new IronTesseract();
    ocr.UseCustomTesseractLanguageFile("path/to/YourCustomFont.traineddata");
    string text = ocr.Read(new OcrInput("image-with-special-font.png")).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

Eğitim Ortamını Nasıl Kurarım?

IronOCR'u Nasıl Yüklerim?

IronOCR'u NuGet 'ten yükleyin:

PM > Install-Package IronOcr

DLL paketi, NuGet kullanamıyorsanız manuel bir alternatiftir. Altyapı motoru için, Tesseract 5 özellik kılavuzu ve özel dil referansına bakın.

WSL2 ve Ubuntu'yu Nasıl Yükler ve Kurarım?

WSL2 ve Ubuntu Kurma eğitimine bakın.

Lütfen dikkate alın: Özel yazı tipi eğitimi Linux gerektirir.

WSL2 yeterlidir: eğitim tamamlandıktan sonra, elde edilen .traineddata dosyası IronOCR uygulamanızla beraber Windows, macOS, Linux veya Docker'da dağıtılır. Yerleşim ayrıntıları için Linux yerleşim kılavuzuna bakın.

Ubuntu'ya Tesseract 5 Nasıl Yüklerim?

Tesseract 5'i kurmak için bu komutları kullanın:

sudo apt install tesseract-ocr
sudo apt install libtesseract-dev
SHELL

tesseract-ocr paketi, tanımayı çalıştıran motordur; libtesseract-dev, bir model oluşturmak için tesstrain'in ihtiyaç duyduğu başlıkları açar. Eğitilmiş dosyanız kullanımda olduğunda, Tesseract yapılandırma kılavuzu, çalışma zamanı ayarı ile ilgilidir.

Fontu Eğitime Nasıl Hazırlarım?

Hangi Fontu İndirmeliyim?

Bu öğreticide, AMGDT fontu .ttf veya .otf formatında kullanılır.

Windows Dosya Gezgini, indirilen AMGDT Regular.ttf font dosyasını kırmızı kutuda vurgulayarak eğitim için gösteriyor

Eğitim için bir font seçerken:

  • Varsayılan İngilizce modelin zaten yanlış okuduğu fontları seçin. Zaten tanınan bir fontu eğitmek zaman kaybıdır.
  • Eğer .traineddata uygulamanızla dağıtılacaksa, fontun lisansının yeniden dağıtıma izin verdiğini onaylayın.
  • Dekoratif, el yazısı ve sektöre özel fontlar (tıbbi, hukuk, kartografik) eğitimden en fazla doğruluğu kazanır.
  • Eğitim örneklerini, üretimde gerçekten ne göreceğinden eşleştirin, çözünürlük ve aydınlatma dahil.

Disk Sürücüsünü Nasıl Montajlarım?

Çalışma alanınız olarak D: sürücüsünü montajlayın:

cd /
cd /mnt/d
SHELL

WSL2, her Windows sürücüsünü /mnt/<letter> altında montajlar, böylece Windows üzerinde dosyaları düzenleyebilir ve aynı oturumda bunlara karşı eğitim komutları çalıştırabilirsiniz.

Font Dosyasını Ubuntu Font Klasörüne Nasıl Kopyalarım?

Tesseract fontunuzdaki örnek metni sunar ve eğitim görüntüleri oluşturur, bu yüzden fontun sadece Windows'ta değil, Linux tarafında kurulmuş olması gerekiyor. Font dosyasını hem Ubuntu font dizinlerine: /usr/share/fonts ve /usr/local/share/fonts kopyalayın. En basit yol, File Explorer'ın adres çubuğuna \wsl$ yazarak Ubuntu dosya sistemini Windows'tan göz atmak ve ardından .ttf 'ı sürüklemektir.

Windows'tan Ubuntu dosya sistemine erişmek için \wsl$ ağ yolunu gösteren Windows Dosya Gezgini

İşte font kopyası Ubuntu font dizininde yer aldığında nasıl göründüğünü görebilirsiniz:

AMGDT yazı tipi dosyasının Ubuntu yazı tipleri klasörüne kopyalanması ve sistem tarafından tanınması

Hedef Klasör Erişimi Engellendi Hatası Alırsam Ne Yaparım?

Dosya Gezgini kopyalamayı reddederse, bunun yerine bir root shell'den çalıştırın:

cd /
su root
cd /c/Users/Admin/Downloads/'AMGDT Regular'
cp 'AMGDT Regular.ttf' /usr/share/fonts
cp 'AMGDT Regular.ttf' /usr/local/share/fonts
exit
SHELL

Eğitim Depolarını GitHub'dan Nasıl Klonlarım?

Eğitim hattı üç depoya bağlıdır. Önce öğretici sarmalayıcıyı klonlayın, ardından içinde iki üst veri Tesseract deposunu ve çıktı klasörünü oluşturun:

git clone https://github.com/astutejoe/tesseract_tutorial.git
cd tesseract_tutorial
git clone https://github.com/tesseract-ocr/tesstrain
git clone https://github.com/tesseract-ocr/tesseract
mkdir tesstrain/data
SHELL
  • Tesseract_tutorial, her eğitim adımını (metin üretimi, resim işleme, eğitim çifti oluşturma) yönlendiren Python komut dosyalarını ve yapılandırma dosyalarını paketler.
  • tesstrain, gerçek eğitimi yürüten Makefile'ı içerir.
  • Tesseract, özel eğitim için başlangıç modeli olarak kullanılan stok .traineddata dosyalarını içeren tessdata klasörünü içerir.
  • tesstrain/data, üretilen .box dosyalarının (karakter sınırlama kutuları), .tif görüntülerinin ve ara LSTM kontrol noktalarının yer aldığı yerdir.

İşte klon dizisinin terminalde nasıl görünmesi gerektiği:

Dört git clone komutunu çalıştıran ve tesstrain data klasörünü oluşturan terminal

Özel olanla birlikte birden fazla dil paketiyle çalışmak için uluslararası diller kılavuzumuzna bakın.

Eğitim Dosyalarını Nasıl Oluştururum?

split_training_text.py Komut Dosyasını Nasıl Çalıştırırım?

Tesseract_tutorial klasöründen çalıştırın:

python split_training_text.py
SHELL

Komut dosyası, her eğitim örneği için bir .box / .tif çifti oluşturur ve bunları veri klasörüne yazar.

İşte eğitim çiftlerini oluştururken komut dosyasının çalışmasının nasıl görünmesi gerektiği:

split_training_text.py'yi çalıştıran ve data klasöründe .box ve .tif dosyaları oluşturan terminal

Fontconfig Uyarısını Nasıl Düzeltirim?

Dizin fontconfig hataları gösteren terminal ekranı, eksik Apex font ve boş font dizini hataları

Fontconfig uyarısı: "/tmp/fonts.co/nf, satır 4: boş font dizini adı yoksayılmış" uyarısı alırsanız, fontconfig font dizinlerini çözümlenemiyor. Bunu tesseract_tutorial/fonts.co/nf dosyasını düzenleyerek düzeltin:

<dir>/usr/share/fonts</dir>
<dir>/usr/local/share/fonts</dir>
<dir prefix="xdg">fonts</dir>
<!-- the following element will be removed in the future -->
<dir>~/.fonts</dir>
XML

/etc/fonts dizinine kopyalayın:

cp fonts.co/nf /etc/fonts
SHELL

Sonra split_training_text.py 'ı aynı yola yönlendirin:

fontconf_dir = '/etc/fonts'
Python

Kaç Eğitim Dosyası Oluşturmalıyım?

Varsayılan olarak, script 100 eğitim çifti oluşturur. split_training_text.py 'un üst kısmındaki sayıyı değiştirin:

Python kodu count=100 ayarlayarak lines dizisini kestirip eğitim verisi boyutunu sınırlıyor

Boyutlandırma kılavuzu:

  • 100-500 numune, hattın uçtan uca çalıştığını doğrulamak için yeterlidir.
  • 1000-5000 numune, üretim doğruluğu için çalışma aralığıdır.
  • Eğitim metni, yazı tipinizin tanıması gereken her karakteri, ideal olarak birkaç kez içermelidir.
  • Daha fazla numune, daha fazla eğitim süresi demektir; doğruluk hedefinizi vuran en küçük sayıyı seçin.

eng.traineddata Dosyasını Nereden İndirebilirim?

tessdata_best deposundan eng.traineddata dosyasını indirin ve Tesseract_tutorial/tesseract/tessdata içine yerleştirin.

Temel model, eğiticiye dilbilimsel bağlam verir (hangi karakter dizilerinin mantıklı kelimeler oluşturduğunu), bu nedenle doğruluk, sıfırdan eğitimden çok daha iyidir. Eğitim metninizle aynı dilde bir temel model seçin. özel OCR dil paketleri sorun giderme kılavuzuna bakınız.

Özel Yazı Tipi Eğitimi Verilerini Nasıl Oluşturabilirim?

tesstrain klasöründen çalıştırın:

TESSDATA_PREFIX=../tesseract/tessdata make training MODEL_NAME=AMGDT START_MODEL=eng TESSDATA=../tesseract/tessdata MAX_ITERATIONS=100
SHELL
  • MODEL_NAME, özel yazı tipinizin adıdır (çıkış dosyası adı için kullanılır).
  • START_MODEL, yukarıda indirdiğiniz baz .traineddata dosyasıdır.
  • MAX_ITERATIONS, eğitim çalışmasını sınırlandırır; daha yüksek değerler genellikle hata oranını azaltır.

Eğer Makefile İle 'Veri Okuma Başarısız Oldu' Hatasını Alırsam Ne Yapmalıyım?

"Veriler okunamadı" hatalarını gidermek için Makefile'ı yamalayın:

WORDLIST_FILE := $(OUTPUT_DIR2)/$(MODEL_NAME).lstm-word-dawg
NUMBERS_FILE := $(OUTPUT_DIR2)/$(MODEL_NAME).lstm-number-dawg
PUNC_FILE := $(OUTPUT_DIR2)/$(MODEL_NAME).lstm-punc-dawg
Text

Yama, Makefile'ı gerçek çıkış dizinine yönlendirir, böylece sözlük dosyalarını bulabilir.

'Unicharset Betiğini Yükleme Başarısız Oldu' Hatasını Nasıl Düzeltirim?

langdata_lstm'den Latin.unicharset dosyasını indirin ve tesstrain/data/langdata klasörüne yerleştirin.

.unicharset dosyası, eğiticinin hangi karakterleri yaymasına izin verildiğini tanımlar. Fontunuzdaki her karakteri kapsayan dosyayı kullanın, örneğin Kiril alfabeleri için Cyrillic.unicharset veya Devanagari için Devanagari.unicharset.

Başarılı bir eğitim işleminin, tesstrain'in .traineddata dosyasını üretirken nasıl görünmesi gerektiği:

Eğitim yinelemeleri boyunca çalışan ve AMGDT.traineddata dosyasını üreten tesstrain derleme hattı

Eğitim Verileri Dosyamın Doğruluğunu Nasıl Doğrulayabilirim?

1000 .box ve .tif dosyası ve 3000 eğitim iterasyonu ile çıkış AMGDT.traineddata, yaklaşık %5,77'lik bir eğitim hata oranına (BCER) ulaşır.

Tesseract eğitim günlüğü, BCER'nin 2194-2298 iterasyonlarında %6,388'den %5,771'e iyileştiğini gösteriyor

IronOCR ile eğitilen modeli test etmek için UseCustomTesseractLanguageFile 'yi dosyaya yönlendirin ve örnek bir görüntü okuyun:

using IronOcr;

// Load the trained model; AutoOsd handles orientation
var ocr = new IronTesseract();
ocr.UseCustomTesseractLanguageFile("path/to/AMGDT.traineddata");
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd;

// Preprocess so the model sees clean glyphs
using var input = new OcrInput();
input.LoadImage("test-image-with-amgdt-font.png");
input.EnhanceResolution(300);
input.DeNoise();

// Confidence reflects training quality
var result = ocr.Read(input);
Console.WriteLine($"Text: {result.Text}");
Console.WriteLine($"Confidence: {result.Confidence}%");

Confidence özelliği belge başına puandır; temiz girdilerde bile düşük kalırsa en yaygın nedenler çok az eğitim numunesi veya betikle uyuşmayan bir temel modeldir. Sizin .traineddata doğrulandığında, özel dil kılavuzumuza giderek herhangi bir özel dil dosyasını yükleme genel iş akışımızı görün.

Özel Yazı Tipi Eğitimi İçin Ana Bilgiler Nelerdir?

Özel bir font eğitimi bir kerelik bir işlemdir: hedef fontunuzdan .box / .tif çiftleri oluşturun, tesstrain ile bir .traineddata modeli oluşturun, ardından UseCustomTesseractLanguageFile ile yükleyin. Buradan, IronOCR, görüntüleri yeni modelle tam olarak İngilizce standart modelle okuduğu şekilde okur.

IronOCR'u özel bir Tesseract modeliyle kullanmanın temel avantajları:

  • Standart Tesseract eserlerini yeniden kullanır: tesstrain ile oluşturabileceğiniz herhangi bir .traineddata dosyası, IronOCR'de dönüşüm yapmadan çalışır.
  • Çapraz platform çıktısı: Eğitim Linux (veya WSL2) gerektirir, ancak eğitilmiş dosya uygulamanızla birlikte Windows, macOS, Linux ve Docker'a gönderilir.
  • API'nin geri kalanıyla tak çalıştır: özel yazı tiplerini birden çok ikincil dille, görüntü kalitesi düzeltmesiyle ve DPI ayarlarıyla birleştirin tanıma yolunu değiştirmeden.
  • Ayarlanabilir doğruluk: hata oranı eğitim numuneleri zamanına iterasyonları işlevidir. Her iki düğme de (komut dosyasının örnek sayısı artı MAX_ITERATIONS) açığa çıkmaktadır, böylece Tesseract'a bağımlı kalmadan eğitim süresi ile BCER arasındaki dengeyi ayarlayabilirsiniz.

Daha büyük boru hatları için, eğitilmiş modelinizin birçok belge boyunca uygulanması sırasında ilerleme takibi ve asenkron işlem değerlendirin.

Sıkça Sorulan Sorular

C#'ta özel eğitilmiş yazı tipi dosyasını nasıl kullanırım?

Özel eğitilmiş Tesseract yazı tipi dosyanızı IronOCR'de birkaç satır kodla kullanabilirsiniz. Basitçe bir IronTesseract örneği oluşturun, UseCustomTesseractLanguageFile() ile .traineddata dosyanızın yolunu verin ve ardından görüntülerinizdeki özel yazı tipini içeren metni çıkarmak için Read() yöntemini kullanın.

OCR için özel yazı tiplerini eğitmek için hangi gereksinimler vardır?

Özel yazı tipi eğitimi, bir Linux ortamı gerektirir (Windows kullanıcıları için WSL2 ile Ubuntu önerilir), geliştirici kütüphaneleri ile kurulu Tesseract 5 ve eğitmek istediğiniz yazı tipi dosyası (ya .ttf ya da .otf formatı). Linux içinde oluşturulan .traineddata dosyaları, tüm platformlarda IronOCR ile sorunsuz çalışır.

Neden standart OCR yerine özel yazı tiplerini eğitmeliyim?

Özel yazı tiplerinin eğitimi, özellikle dekoratif veya standart Tesseract modellerinden önemli ölçüde farklı özel yazı tipleri için OCR doğruluğunu artırır. IronOCR, daha sonra bu eğitilmiş yazı tipi dosyalarını kullanarak, standart OCR modelleriyle okunması zor olabilecek bu özel yazı tiplerini içeren metni doğru bir şekilde tanıyabilir.

Özel eğitilmiş yazı tiplerini farklı platformlarda kullanabilir miyim?

Evet, eğitim süreci Linux gerektirirken, elde edilen .traineddata dosyaları, IronOCR ile tüm platformlarda sorunsuz çalışır. Bu, bir kez Linux üzerinde eğitim yapıp, eğitim verisi dosyasını Windows, macOS veya Linux dağıtımlarında kullanabileceğiniz anlamına gelir.

Başlamadan önce önerilen kurulum yöntemi nedir?

Hızlı bir kurulum için IronOCR DLL'sini doğrudan indirebilir veya NuGet Paket Yöneticisi aracılığıyla yükleyebilirsiniz. NuGet, bağımlılıkları otomatik olarak yönetir ve güncellemeleri daha kolay hale getirir. IronOCR, Tesseract 5 özellikleri ve özel dil uygulamaları için kapsamlı destek sunar.

Can I deploy my custom-trained Tesseract model on multiple platforms?

Yes, once trained on a Linux environment, the `.traineddata` file is portable and can be used in applications running on Windows, macOS, Linux, and Docker.

What accuracy can I expect from a custom-trained font model in IronOCR?

The accuracy depends on training samples and iterations during the training process. More samples and iterations generally enhance accuracy, and IronOCR provides confidence scores to evaluate the model.

How can I troubleshoot 'Failed to Read Data' errors during training?

This error can often be resolved by patching the Makefile to correctly point it toward the output directory for dictionary files.

What is the role of the `eng.traineddata` file in custom font training?

`eng.traineddata` serves as the base language model providing linguistic context, which improves the accuracy of the custom-trained font over models built entirely from scratch.

What should I do if I encounter permission issues copying font files during setup?

If you receive a 'Destination Folder Access Denied' message, perform the file copy operation from a root shell in the terminal to ensure proper permissions.

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

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

ÜCRETSİZİNİZİ EDİNİN

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

bullet_checkedKredi kartı veya hesap oluşturma gerektirmez
bullet_testÜretimde Test
filigran olmadan
bullet_calendar30 gün tamamen
işlevsel ürün
bullet_supportDeneme sırasında teknik
24/5 destek
Ü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