Windows Geliştiricileri için Tesseract 5'te C# Özel Yazı Tipi Eğitimi
Tesseract 5'te özel yazı tipi eğitimi, belirli yazı tipleri için OCR doğruluğunu artırır. Bu süreç, motorun yazı tipi özelliklerini öğreten eğitim verileri oluşturur. Oluşan .traineddata dosyası, dekoratif veya özel fontları doğru şekilde tanımak için IronOCR ile çalışır.
Hızlı Başlangıç: .traineddata Yazı Tipi Dosyanızı C# içinde Kullanma
Özel eğitilmiş Tesseract yazı tipi dosyanızı IronOCR içinde sadece birkaç satırla kullanın. Özel veya dekoratif yazı tiplerinde doğru OCR için mükemmel.
-
NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronOcr yükleyin
PM > Install-Package IronOcr -
Bu kod parçasını kopyalayıp çalıştırın.
var ocr = new IronOcr.IronTesseract(); ocr.UseCustomTesseractLanguageFile("path/to/YourCustomFont.traineddata"); string text = ocr.Read(new IronOcr.OcrInput("image-with-special-font.png")).Text; -
Canlı ortamınızda test etmek için dağıtın
Bugün projenizde IronOCR kullanmaya başlayın ücretsiz deneme ile
Minimal Is Akisi (5 adimda)
- Özel yazı tipleri eğitmek için bir C# kütüphanesi indirin
- Eğitim için hedef yazı tipi dosyasını hazırlayın
- Bu makaledeki adımları izleyin
- Yaygın hatalar için çözümleri uygulayın
- Eğitim verileri dosyasını dışa aktarın
IronOcr'un En Son Sürümünü Nasıl İndiririm?
Hangi Kurulum Yöntemini Kullanmalıyım?
IronOcr DLL dosyasını doğrudan makinenize indirin.
Bunun Yerine Neden NuGet Kullanmalısınız?
Alternatif olarak, NuGet üzerinden şu komutla kurabilirsiniz:
Install-Package IronOcr
IronOCR, Tesseract 5 özellikleri ve özel dil uygulamaları için kapsamlı destek sağlar ve bu da onu özel OCR gereksinimleri için ideal kılar.
WSL2 ve Ubuntu Nasıl Kurulur ve Ayarlanır?
WSL2 ve Ubuntu kurulumu konusundaki eğiticiye başvurun.
Eğitim Linux gerektirir, ancak oluşan .traineddata dosyaları tüm platformlarda sorunsuz çalışır. Ayrıntılı Linux kurulum talimatları için, Linux dağıtım kılavuzumuza bakın.
Ubuntu'ya Tesseract 5 Nasıl Kurulur?
Tesseract 5'i kurmak için bu komutları kullanın:
sudo apt install tesseract-ocr
sudo apt install libtesseract-dev
sudo apt install tesseract-ocr
sudo apt install libtesseract-dev
Bu paketler, eğitim için gerekli olan çekirdek Tesseract OCR motorunu ve geliştirme kütüphanelerini sağlar. Gelişmiş Tesseract yapılandırma seçenekleri için, detaylı yapılandırma kılavuzumuza başvurun.
Eğitim için Hangi Yazı Tipini İndirmeliyim?
Bu öğretici AMGDT yazı tipini kullanır. Yazı tipi dosyası ya .ttf ya da .otf olabilir. 
Eğitim için yazı tiplerini seçerken:
- Standart Tesseract modellerinden önemli ölçüde farklı yazı tiplerini seçin
- Yazı tipinin lisanslamasını doğru yapın
- Dekoratif, el yazısı veya özel endüstri yazı tiplerini düşünün
- Uygulamanızın üretimde karşılaştığı yazı tipleri ile test yapın
Özel Yazı Tipi Eğitimi İçin Disk Sürücüsünü Nasıl Montelerim?
Çalışma alanınız olarak Drive D:'i bağlamak için bu komutları kullanın:
cd /
cd /mnt/d
cd /
cd /mnt/d
Bu, dosyalarınızı Windows sürücülerinde saklayarak Ubuntu'nun WSL2 ortamıyla doğrudan çalışmanıza olanak tanır.
Yazı Tipi Dosyasını Ubuntu Yazı Tipi Klasörüne Nasıl Kopyalarım?
Font dosyasını şu Ubuntu dizinlerine kopyalayın: /usr/share/fonts ve /usr/local/share/fonts.
Dosya gezgininin adres çubuğuna \\wsl$ yazarak Ubuntu'daki dosyalara erişin.

Hedef Klasör Erişimi Reddedildi Ne Yapmalıyım?
Erişimi reddedildi hatalarını alırsanız, dosyaları kopyalamak için komut satırını kullanı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
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
Yazı tipi kurulumu eğitim süreci için hayati önem taşır. Sistem, eğitim görüntüleri üretirken yazı tipini oluşturmak için erişim gerektirir.
GitHub'dan tesseract_tutorial nasıl klonlanırım?
tesseract_tutorial deposunu bu komutu kullanarak klonlayın:
git clone https://github.com/astutejoe/tesseract_tutorial.git
git clone https://github.com/astutejoe/tesseract_tutorial.git
Bu depo, eğitim süreci için gerekli Python komut dosyalarını ve yapılandırma dosyalarını içerir. Komut dosyaları yazı tipi eğitimindeki birçok manuel adımı otomatikleştirir.
GitHub'dan tesstrain ve tesseract nasıl klonlanır?
tesseract_tutorial dizinine gidin, ardından tesstrain ve tesseract depolarını klonlayın:
git clone https://github.com/tesseract-ocr/tesstrain
git clone https://github.com/tesseract-ocr/tesseract
git clone https://github.com/tesseract-ocr/tesstrain
git clone https://github.com/tesseract-ocr/tesseract
tesstrain,.traineddatadosyasını oluşturmak için kullanılan Makefile dosyasını içerirtesseract, özel font eğitimi sırasında referans olarak kullanılan orijinal.traineddatadosyalarının bulunduğu tessdata klasörünü içerir
Birden fazla dil paketi ve özel eğitim verileri ile çalışmak hakkında daha fazla bilgi için, uluslararası diller kılavuzumuza bakın.
Çıktıları Saklamak İçin "data" Klasörünü Nasıl Oluştururum?
tesseract_tutorial/tesstrain içinde bir veri klasörü oluşturun:
mkdir tesseract_tutorial/tesstrain/data
mkdir tesseract_tutorial/tesstrain/data
Bu klasör, oluşturulan tüm eğitim dosyalarını, .box, .tif ve ara eğitim eserleri dahil olmak üzere saklar.
split_training_text.py nasıl çalıştırırım?
tesseract_tutorial klasörüne dönün ve bu komutu çalıştırın:
python split_training_text.py
python split_training_text.py
split_training_text.py çalıştırdıktan sonra veri klasöründe .box ve .tif dosyalarını oluşturur.
Fontconfig Uyarılarını Nasıl Düzeltebilirim?
Eğer Fontconfig warning: "/tmp/fonts.conf, line 4: empty font directory name ignored" uyarısı görürseniz, bu eksik font dizinlerini belirtir. Bunu tesseract_tutorial/fonts.conf dosyasını düzenleyip ekleme yaparak düzeltin:
<dir>/usr/share/fonts</dir>
<dir>/usr/local/share/fonts</dir>
<dir prefix="xdg">fonts</dir>
<dir>~/.fonts</dir>
<dir>/usr/share/fonts</dir>
<dir>/usr/local/share/fonts</dir>
<dir prefix="xdg">fonts</dir>
<dir>~/.fonts</dir>
Bunu /etc/fonts ile kopyalayın:
cp fonts.conf /etc/fonts
cp fonts.conf /etc/fonts
Ayrıca split_training_text.py'i güncelleyin:
fontconf_dir = '/etc/fonts'
fontconf_dir = '/etc/fonts'
Kaç Eğitim Dosyası Üretmeliyim?
Mevcut yapılandırma 100 eğitim dosyası üretir. Bunu split_training_text.py içinde değiştirebilirsiniz.

Üretim kalitesinde eğitim için:
- Test etmek için 100-500 numune ile başlayın
- Daha iyi doğruluk için 1000-5000 numune kullanın
- Gereken tüm karakterleri kapsayan çeşitli metin örnekleri dahil edin
- Eğitim süresini doğruluk gereksinimleri ile dengeleyin
eng.traineddata nereden indiririm?
eng.traineddata'u bu depodan indirip tesseract_tutorial/tesseract/tessdata içine yerleştirin.
Temel model, doğruluk oranını iyileştiren dilbilimsel bağlam sağlar. Hedef dilinizi karşılayan bir temel model seçin. Özel dil paketi sorunlarıyla ilgili sorun gidermek için, özel OCR dil paketleri kılavuzumuzu danışın.
Kendi özel font .traineddata nasıl oluştururum?
tesstrain klasörüne gidin ve WSL2'de bu komutu kullanın:
TESSDATA_PREFIX=../tesseract/tessdata make training MODEL_NAME=AMGDT START_MODEL=eng TESSDATA=../tesseract/tessdata MAX_ITERATIONS=100
TESSDATA_PREFIX=../tesseract/tessdata make training MODEL_NAME=AMGDT START_MODEL=eng TESSDATA=../tesseract/tessdata MAX_ITERATIONS=100
MODEL_NAMEsizin özel font adınızdırSTART_MODEL, orijinal.traineddatareferansıdırMAX_ITERATIONS, iterasyon sayısını belirtir (daha fazla iterasyon doğruluğu artırır)
Makefile'de "Veriler Okunamadı" Hatasını Nasıl Çözerim?
Bu hatayı çözmek için, Makefile'ı düzenleyin:
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
Bu düzenleme, Makefile'ın dosyaları doğru çıktı dizini yapısında aramasını sağlar.
"Unicharset Betiği Yüklenemedi" Hatasını Nasıl Düzeltirim?
Latin.unicharset'i tesstrain/data/langdata klasörüne ekleyin. Latin.unicharset'i buradan bulun.
Unicharset dosyası, diliniz veya betiminiz için karakter setini tanımlar. Yazı tipinizin karakter kapsama alanı ile eşleştiğinden emin olun.
Oluşturulan .traineddata'in doğruluğunu nasıl doğrularım?
1000 .box ve .tif dosyası ve 3000 eğitim iterasyonuyla, çıktı AMGDT.traineddata yaklaşık olarak %5.77 oranında minimum eğitim hata oranı (BCER) sağlar.

Eğitilen modelinizi IronOCR ile test etmek için:
using IronOcr;
// Initialize IronOCR with custom trained data
var ocr = new IronTesseract();
// Load your custom trained font
ocr.UseCustomTesseractLanguageFile(@"path\to\AMGDT.traineddata");
// Configure for optimal results
ocr.Configuration.BlackListCharacters = "";
ocr.Configuration.WhiteListCharacters = "";
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd;
// Process an image with your custom font
using var input = new OcrInput();
input.LoadImage("test-image-with-amgdt-font.png");
// Optional: Apply filters if needed
input.EnhanceResolution(300);
input.DeNoise();
// Perform OCR
var result = ocr.Read(input);
Console.WriteLine($"Recognized Text: {result.Text}");
Console.WriteLine($"Confidence: {result.Confidence}%");
using IronOcr;
// Initialize IronOCR with custom trained data
var ocr = new IronTesseract();
// Load your custom trained font
ocr.UseCustomTesseractLanguageFile(@"path\to\AMGDT.traineddata");
// Configure for optimal results
ocr.Configuration.BlackListCharacters = "";
ocr.Configuration.WhiteListCharacters = "";
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd;
// Process an image with your custom font
using var input = new OcrInput();
input.LoadImage("test-image-with-amgdt-font.png");
// Optional: Apply filters if needed
input.EnhanceResolution(300);
input.DeNoise();
// Perform OCR
var result = ocr.Read(input);
Console.WriteLine($"Recognized Text: {result.Text}");
Console.WriteLine($"Confidence: {result.Confidence}%");
Imports IronOcr
' Initialize IronOCR with custom trained data
Dim ocr As New IronTesseract()
' Load your custom trained font
ocr.UseCustomTesseractLanguageFile("path\to\AMGDT.traineddata")
' Configure for optimal results
ocr.Configuration.BlackListCharacters = ""
ocr.Configuration.WhiteListCharacters = ""
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd
' Process an image with your custom font
Using input As New OcrInput()
input.LoadImage("test-image-with-amgdt-font.png")
' Optional: Apply filters if needed
input.EnhanceResolution(300)
input.DeNoise()
' Perform OCR
Dim result = ocr.Read(input)
Console.WriteLine($"Recognized Text: {result.Text}")
Console.WriteLine($"Confidence: {result.Confidence}%")
End Using
Üretim uygulamalarında özel yazı tiplerinin uygulanması için, özel dil dosyalarının kullanımı hakkında kılavuzumuzu inceleyin.
Daha fazla okuma ve referans için, eğiticiye bakın: YouTube Videosu
Sıkça Sorulan Sorular
C#'ta özel eğitilmiş bir yazı tipi dosyasını nasıl kullanırım?
Özel eğitilmiş Tesseract yazı tipi dosyanızı IronOCR ile sadece birkaç satır kod kullanarak kullanabilirsiniz. Basitçe bir IronTesseract örneği oluşturun, .traineddata dosyanızın yolunu kullanarak UseCustomTesseractLanguageFile() yöntemini çağırın ve ardından Read() yöntemini kullanarak özel yazı tipinizi içeren görüntülerde OCR gerçekleştirin.
OCR için özel yazı tiplerini eğitmenin gereksinimleri nelerdir?
Özel yazı tipi eğitimi, Linux ortamı gerektirir (Windows kullanıcıları için Ubuntu ile WSL2 önerilir), geliştirme kütüphaneleri ile yüklü Tesseract 5 ve eğitmek istediğiniz yazı tipi dosyası (.ttf veya .otf formatında). Linux'ta oluşturulan .traineddata dosyaları tüm platformlarda IronOCR ile sorunsuz çalışır.
Standart OCR yerine neden özel yazı tiplerini eğitmeliyim?
Özel yazı tiplerini eğitmek, özellikle dekoratif veya standart Tesseract modellerinden önemli ölçüde farklı özel yazı tiplerinde OCR doğruluğunu artırır. IronOCR, bu eğitilmiş yazı tipi dosyalarını, standart OCR modelleriyle okunması zor olan bu benzersiz yazı tiplerini içeren görüntülerde metni doğru bir şekilde tanımak için kullanabilir.
Özel eğitilmiş yazı tiplerini farklı platformlarda kullanabilir miyim?
Evet, eğitim süreci Linux gerektirse de, oluşturulan .traineddata dosyaları tüm platformlarda IronOCR ile sorunsuz çalışır. Bu, bir kez Linux'ta eğitilerek Windows, macOS veya Linux dağıtımlarında eğitilmiş veri dosyasını kullanabileceğiniz anlamına gelir.
Başlamak için hangi yükleme yöntemi önerilir?
Hızlı kurulum için IronOCR DLL'sini doğrudan indirebilir veya NuGet Paket Yöneticisi üzerinden yükleyebilirsiniz. NuGet, bağımlılıkları otomatik olarak yönettiği ve güncellemeleri kolaylaştırdığı için önerilir. IronOCR, Tesseract 5 özellikleri ve özel dil uygulamaları için kapsamlı destek sağlar.

