single

Tesseract Engine Örnekleri

27 Ağustos 2024
The Impact of 5G Technology

Tesseract Engine Örnekleri

Tesseract Engine nedir yazımda temel bilgileri vermiştim. Tesseract C# ile entegre edilerek çeşitli OCR (Optik Karakter Tanıma) işlemleri gerçekleştirilebilir. Aşağıda, Tesseract Engine’in C# ile kullanımı için bazı temel örnekler verilmiştir.

1. Tesseract Engine ile Basit OCR İşlemi

Bu örnek, bir görüntüden metin çıkarmak için Tesseract Engine’in nasıl kullanılacağını göstermektedir. Aşağıdaki kod, bir resim dosyasındaki metni okuyarak konsola yazdırır.





using System;
using Tesseract;

namespace TesseractExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // Tesseract OCR motorunu başlat
            using (var engine = new TesseractEngine(@"./tessdata", "eng", EngineMode.Default))
            {
                // Resim dosyasını yükle
                using (var img = Pix.LoadFromFile("example.png"))
                {
                    // OCR işlemini gerçekleştir
                    using (var page = engine.Process(img))
                    {
                        // Tanımlanan metni al ve yazdır
                        var text = page.GetText();
                        Console.WriteLine("Metin: \n{0}", text);

                        // Tanımlanan metnin güvenilirlik oranını al ve yazdır
                        Console.WriteLine("Güvenilirlik Oranı: {0}", page.GetMeanConfidence());
                    }
                }
            }
        }
    }
}

2. Belirli Bir Dil ile OCR İşlemi

Tesseract, farklı dillerde metin tanıma yeteneğine sahiptir. Bu örnek, Türkçe metin içeren bir resimden OCR işlemi gerçekleştirmektedir.





using System;
using Tesseract;

namespace TesseractTurkishExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // Türkçe dil desteğiyle Tesseract OCR motorunu başlat
            using (var engine = new TesseractEngine(@"./tessdata", "tur", EngineMode.Default))
            {
                // Resim dosyasını yükle
                using (var img = Pix.LoadFromFile("turkish_example.png"))
                {
                    // OCR işlemini gerçekleştir
                    using (var page = engine.Process(img))
                    {
                        // Tanımlanan metni al ve yazdır
                        var text = page.GetText();
                        Console.WriteLine("Türkçe Metin: \n{0}", text);
                    }
                }
            }
        }
    }
}

3. OCR ile Görüntüde Belirli Bir Alanı Tanımak

Bu örnek, bir görüntünün belirli bir bölümünden metin çıkarmak için nasıl kullanılacağını gösterir. Görüntünün sadece bir kısmında OCR işlemi yapılır.





using System;
using Tesseract;

namespace TesseractRegionExample
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var engine = new TesseractEngine(@"./tessdata", "eng", EngineMode.Default))
            {
                using (var img = Pix.LoadFromFile("example.png"))
                {
                    // OCR işlemini gerçekleştirmek için bir alan belirle
                    var region = new Rect(50, 50, 400, 200);
                    using (var page = engine.Process(img, region))
                    {
                        // Tanımlanan metni al ve yazdır
                        var text = page.GetText();
                        Console.WriteLine("Belirtilen Alanın Metni: \n{0}", text);
                    }
                }
            }
        }
    }
}

4. Çoklu Dil Destekli OCR İşlemi

Bu örnek, bir görüntüde aynı anda birden fazla dili tanımak için Tesseract Engine’in nasıl kullanılacağını gösterir.





using System;
using Tesseract;

namespace TesseractMultilingualExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // Birden fazla dil desteğiyle Tesseract OCR motorunu başlat
            using (var engine = new TesseractEngine(@"./tessdata", "eng+tur", EngineMode.Default))
            {
                using (var img = Pix.LoadFromFile("multilingual_example.png"))
                {
                    // OCR işlemini gerçekleştir
                    using (var page = engine.Process(img))
                    {
                        // Tanımlanan metni al ve yazdır
                        var text = page.GetText();
                        Console.WriteLine("Tanımlanan Metin (İngilizce + Türkçe): \n{0}", text);
                    }
                }
            }
        }
    }
}

5. OCR Sonuçlarının JSON Formatında Çıktısını Alma

Bu örnek, OCR sonuçlarını JSON formatında dışa aktarmayı gösterir.





using System;
using Newtonsoft.Json;
using Tesseract;

namespace TesseractJsonOutputExample
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var engine = new TesseractEngine(@"./tessdata", "eng", EngineMode.Default))
            {
                using (var img = Pix.LoadFromFile("example.png"))
                {
                    using (var page = engine.Process(img))
                    {
                        // OCR sonuçlarını JSON formatında al
                        var jsonResult = JsonConvert.SerializeObject(new
                        {
                            Text = page.GetText(),
                            Confidence = page.GetMeanConfidence()
                        });

                        // JSON çıktısını yazdır
                        Console.WriteLine("JSON OCR Sonucu: \n{0}", jsonResult);
                    }
                }
            }
        }
    }
}

Bu örnekler, Tesseract Engine’in C# ile nasıl kullanılabileceğine dair farklı senaryoları göstermektedir. Tesseract, güçlü ve esnek yapısı sayesinde çok çeşitli OCR projelerinde kullanılabilir. Görüntü işleme ve metin tanıma işlemlerini birleştirerek, yazılım projelerinizde etkili OCR çözümleri geliştirebilirsiniz.

Yorum Yapın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir