C#'ta Tesseract ile Özel Dil Nasıl Kullanılır?

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronOCR, Tesseract .traineddata dosyalarını UseCustomTesseractLanguageFile yöntemi ile yükleyerek özel diller, uzmanlaşmış yazılar veya şifreler için OCR özelliği sağlar ve bu sayede herhangi bir özel eğitimli dil modelinden metin çıkarabilirsiniz.

Hızlı Başlangıç: OCR için Özel Dil Yükleyin

  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.

    using IronOcr;
    
    // Initialize OCR engine
    var ocr = new IronTesseract();
    
    // Load custom language file
    ocr.UseCustomTesseractLanguageFile("custom.traineddata");
    
    // Process document
    using var input = new OcrInput();
    input.LoadImage("document.png");
    
    // Extract text
    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
  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
  1. IronOCR'u NuGet Paket Yöneticisi ile kurun
  2. Özel .traineddata dosyanızı UseCustomTesseractLanguageFile ile yükleyin
  3. Bir OcrInput oluşturun ve belgenizi yükleyin
  4. Özel dilinizde metin çıkarmak için Read() çağırın
  5. Çıkarılan metni kaydedin veya işleyin

Optik karakter tanıma (OCR) bazen özel diller, uzmanlaşmış betikler veya şifreleri ele almayı gerektirir. Özel bir dil içeren bir giriş görüntüsünü okumak için, Tesseract motoruna bu özel dil için eğitim verilmiş verilerin sağlanması gerekir. Bu veri özel bir .traineddata dosyasında saklanır.

(bu dosyanın oluşturulması/ eğitimi) yaptığım karmaşık süreç Tesseract'ın kendi araçları ile yapılırken, IronOCR bu özel dil dosyalarını kullanmayı tamamen destekler. Bu, eğitilen modelinizi herhangi bir girdiden metni çözmek ve okumak için uygulamanıza olanak tanır. Bu kılavuz, IronOCR ile özel bir .traineddata dosyasının nasıl yüklenip kullanılacağını gösterir.


Özel Dil OCR'i Tesseract ile Nasıl Uygularım?

Tesseract ile özel bir dil kullanmak için, ilk olarak .traineddata dosyanızı çağırarak UseCustomTesseractLanguageFile yöntemini kullanın. Bu dosya, Tesseract'ın özel dilin benzersiz karakterlerini tanımasına olanak tanıyan tüm eğitim verilerini içerdiğinden, bu önemli bir adımdır.

IronOCR'daki özel dil desteği, standart dillerin ötesine uzanır. Tarihi yazılarla, icat edilmiş dillerle veya özel notasyon sistemleriyle çalışıyor olsanız da, aynı işlem uygulanır. Birden fazla dili gerektiren projeler için, birden fazla dili okuma kılavuzumuza göz atın veya kutudan çıkar çıkmaz desteklenen 125 uluslararası OCR dili hakkında bilgi edinin.

Ardından, giriş belgenizi, normal bir OCR işlemi yapar gibi yükleyin. Özel dil paragrafları içeren bir PDF'i LoadPdf kullanarak yüklüyoruz. IronOCR, görüntüler (jpg, png, gif, tiff, bmp) ve PDF'ler dahil olmak üzere çeşitli giriş formatlarını destekler.

Son olarak, girdi metnini çıkarmak için Read yöntemini kullanın. Sonuç daha sonra konsola yazdırılabilir veya referans için bir metin dosyasına kaydedilebilir.

Özel Diller için Hangi Eğitim Verilerine İhtiyacım Var?

Özel dilimizdeki metni içeren bu örnek PDF'yi giriş olarak kullanacağız.

Örneğimiz için bu özel dil .traindata kullanacağız.

Eğitim verilerinizin kalitesi ve kapsamlılığı doğrudan OCR doğruluğunu etkiler. Özel dil eğitim verilerini hazırlarken:

  1. Karakter Kapsamı: Eğitim verilerinizin tüm karakterleri ve sembolleri kapsadığından emin olun
  2. Yazı Tipi Varyasyonları: Belgeleriniz tipografide farklılık gösteriyorsa birden fazla yazı tipi stilini dahil edin
  3. Görüntü Kalitesi: Üretimde işlenecek benzer görüntülerle eğitin
  4. Bağlam Desenleri: Yaygın kelime kombinasyonlarını ve ifadeleri dahil edin

İleri düzey yapılandırma seçenekleri için, Tesseract ayrıntılı yapılandırma kılavuzumuza bakın.

Özel Dil Belgelerini Nasıl Yükleyip İşlerim?

:path=/static-assets/ocr/content-code-examples/how-to/ocr-custom-language.cs
using IronOcr;
using System;
using System.IO;

var ocrTesseract = new IronTesseract();

// Load the traineddata file for the custom language
ocrTesseract.UseCustomTesseractLanguageFile("AMGDT.traineddata");

using var ocrInput = new OcrInput();
// Load the PDF containing text in the custom language
ocrInput.LoadPdf("custom.pdf");

var ocrResult = ocrTesseract.Read(ocrInput);

// Print text to the console
Console.WriteLine("--- OCR Result ---");
Console.WriteLine(ocrResult.Text);
Console.WriteLine("------------------");

// Pipe text to a .txt file
string outputFilePath = "ocr_output.txt";
File.WriteAllText(outputFilePath, ocrResult.Text);

Console.WriteLine($"\nSuccessfully saved text to {outputFilePath}");
Imports IronOcr
Imports System
Imports System.IO

Dim ocrTesseract As New IronTesseract()

' Load the traineddata file for the custom language
ocrTesseract.UseCustomTesseractLanguageFile("AMGDT.traineddata")

Using ocrInput As New OcrInput()
    ' Load the PDF containing text in the custom language
    ocrInput.LoadPdf("custom.pdf")

    Dim ocrResult = ocrTesseract.Read(ocrInput)

    ' Print text to the console
    Console.WriteLine("--- OCR Result ---")
    Console.WriteLine(ocrResult.Text)
    Console.WriteLine("------------------")

    ' Pipe text to a .txt file
    Dim outputFilePath As String = "ocr_output.txt"
    File.WriteAllText(outputFilePath, ocrResult.Text)

    Console.WriteLine(vbCrLf & "Successfully saved text to " & outputFilePath)
End Using
$vbLabelText   $csharpLabel

Yukarıdaki kod özel dil OCR için temel iş akışını gösterir. Daha karmaşık senaryolar için şu geliştirmeleri düşünün:

Performansı Optimize Edin: Büyük belgeler veya toplu işlem için, çok iş parçacıklı ve async desteğini uygulayarak performansı artırın.

Görüntü Ön İşleme: Kaynak belgelerinizin kalite sorunları varsa, OCR işleminden önce görüntü düzeltme filtreleri uygulayın. Filtre Sihirbazı, optimum ön işleme ayarlarını bulmanıza yardımcı olabilir.

Bölgeye Özgü OCR: Karışık içerikli belgeler için, özel dilinizi içeren belirli alanlara odaklanmak için bir görüntünün OCR bölgesi tekniğini kullanın.

Özel Dil OCR'den Ne Tür Sonuçlar Bekleyebilirim?

Apex Legends oyun özellikleri hakkında metin çıkartımını gösteren Tesseract OCR çıkışı terminal arayüzünde

Bu çıktı, özel dil modelimizden alınan sonucu gösterir. Doğru eğitim verilerini sağlayarak, IronOCR metni başarıyla çözdü ve sonuç sade İngilizce'dir. Ek olarak, bu kod tarafından oluşturulan txt çıktısıdır.

Özel dil OCR doğruluğu birçok faktöre bağlıdır:

  • Eğitim Verisi Kalitesi: Daha iyi eğitim verileri daha iyi sonuçlar verir
  • Belge Tutarlılığı: Eğitim verileriyle eşleşen belgeler en iyi performansı gösterir
  • Görüntü Çözünürlüğü: Daha yüksek DPI görüntüler daha doğru sonuçlar üretir - DPI ayarları rehberimize bakın

Özel Dil Uygulaması için En İyi Uygulamalar

Üretim ortamlarında özel dil OCR uygularken, bu en iyi uygulamaları düşünün:

Hata Yönetimi ve Doğrulama: Her zaman .traineddata dosyanızın mevcut ve erişilebilir olduğunu doğrulayın ve yüklemeden önce bunu kontrol edin. Özel dil dosyasının kaybolduğu veya bozulduğu durumlar için uygun hata yönetimi uygulayın.

Performans Optimizasyonu: Özel dil modelleri standart dil paketlerinden daha büyük olabilir. Optimum performans için:

  • Birden fazla belge işlerken yüklenmiş dil modelini önbelleğe alın
  • Uzun süreli OCR işlemlerini izlemek için ilerleme takibi kullanın
  • Büyük belgeleri işlerken zaman aşımı uygulamayı düşünün

Standart Dillerle Birleştirme: Belgeleriniz hem özel hem de standart diller içeriyorsa, aynı anda birden fazla dili yükleyebilirsiniz. Bu, özellikle karışık içerikli belgeler için yararlıdır.

Test ve Doğrulama: OCR doğruluğunu doğrulamak için bir test çerçevesi kurun:

İleri Düzey Kullanım Durumları

Özel dil OCR, birçok olasılığın kapısını açar:

Tarihi Belge Koruma: Eski yazılarla veya kullanılmayan yazı türleriyle yazılmış el yazmaları veya metinleri dijitalleştirin Özel Notasyon Sistemleri: Matematiksel denklemleri, müziksel notaları veya teknik diyagramları işleyin - bizim denklemler hata ayıklama kılavuzumuza bakın Güvenlik Uygulamaları: Özel kodlama sistemlerini veya şifreleri çözün Erişilebilirlik: Özel körler veya dokunsal yazı sistemlerini standart metne dönüştürün

Daha gelişmiş senaryolar için, Tesseract 5 ile çeşitli IronOCR yeteneklerini sergileyen kapsamlı kod örneklerimizi keşfedin.

Sıkça Sorulan Sorular

Özel diller veya yazılarla belgelerde OCR nasıl yapılır?

IronOCR, UseCustomTesseractLanguageFile yöntemiyle Tesseract .traineddata dosyalarını yükleyerek özel dil OCR yapma olanağı sağlar. Bu, size özel eğitilmiş dil modellerinden metin çıkarmanızı, özel yazılar, tarihi metinler veya müstear diller dahil olmak üzere sağlar.

Özel dil tanıma için hangi dosya formatı gereklidir?

IronOCR, özel diliniz için eğitim verilerini içeren bir .traineddata dosyası gerektirir. Bu dosya, UseCustomTesseractLanguageFile yöntemiyle yüklenir ve Tesseract'ın özel dilinizin benzersiz karakterlerini tanıması için gerekli tüm bilgileri içerir.

Tek bir OCR işleminde birden fazla özel dil kullanabilir miyim?

Evet, IronOCR birden fazla dil tanımayı destekler. Birden fazla özel dil dosyası yükleyebilir veya özel dilleri IronOCR tarafından kutudan çıktığı gibi desteklenen 125 uluslararası dille birleştirebilirsiniz.

Hangi tür özel yazılar tanınabilir?

IronOCR, tarihî yazılar, icat edilmiş diller, özel notasyon sistemleri ve şifreler dahil olmak üzere, uygun şekilde eğitilmiş bir .traineddata dosyasına sahip herhangi bir özel yazıyı tanıyabilir. Esneklik, Tesseract'ın araçlarını kullanarak eğitilebilecek herhangi bir yazı sistemine uzanır.

C# uygulamamda özel dil OCR'yi nasıl uygularım?

IronOCR ile özel dil OCR'yi uygulamak için: 1) Bir IronTesseract örneği başlatın, 2) UseCustomTesseractLanguageFile kullanarak özel .traineddata dosyanızı yükleyin, 3) Bir OcrInput nesnesi oluşturun ve belgenizi yükleyin, 4) Metni çıkarmak için Read() yöntemini çağırın ve 5) Gerektiği gibi çıkarılan metni işleyin.

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.