Altbilgi içeriğine atla
OCR ARAçLARı

Tesseract Kullanarak Görüntülerden Nasıl Metin Alınır

IronOCR ve Tesseract gibi kütüphanelerden faydalanmak, geliştiricilere görüntülerden ve taranmış belgelerden metinsel bilgi çıkarma için gelişmiş algoritmalara ve makine öğrenme tekniklerine erişim sağlar. Bu eğitim, okuyuculara Tesseract kütüphanesini kullanarak görüntülerden metin çıkarma işlemini göstermenin yanı sıra, IronOCR'un benzersiz yaklaşımını tanıtarak sonlanacaktır.

1. Tesseract ile OCR

1.1. Tesseract Yükleme

NuGet Paket Yöneticisi Konsolu'nu kullanarak aşağıdaki komutu girin:

Install-Package Tesseract

Veya NuGet Paket Yöneticisi aracılığıyla paketi indirin.

OCR Metin Tanima Nasıl Yapilir, Sekil 1: Tesseract paketini NuGet Paket Yonetici'sine kurun NuGet Paket Yonetici'sinde Tesseract paketini kurun

NuGet Paketini yükledikten sonra, dil dosyalarını manuel olarak yüklemeniz ve proje klasörüne kaydetmeniz gerekir. Bu, bu özel kütüphanenin bir eksikliği olarak kabul edilebilir.

Dil dosyalarını indirmek için şu web sitesini ziyaret edin. İndirdikten sonra, dosyaları açın ve 'tessdata' klasörünü projenizin hata ayıklama klasörüne ekleyin.

1.2. Tesseract Kullanımı (Hızlı Başlangıç)

Verilen bir görüntü üzerinde OCR aşağıdaki kaynak kod kullanılarak gerçekleştirilebilir:

using Tesseract;

class Program
{
    static void Main()
    {
        // Initialize Tesseract engine with English language data
        using var ocrEngine = new TesseractEngine(@"tessdata", "eng", EngineMode.Default);

        // Load the image to be processed
        using var img = Pix.LoadFromFile("Demo.png");

        // Process the image to extract text
        using var res = ocrEngine.Process(img);

        // Output the recognized text
        Console.WriteLine(res.GetText());
        Console.ReadKey();
    }
}
using Tesseract;

class Program
{
    static void Main()
    {
        // Initialize Tesseract engine with English language data
        using var ocrEngine = new TesseractEngine(@"tessdata", "eng", EngineMode.Default);

        // Load the image to be processed
        using var img = Pix.LoadFromFile("Demo.png");

        // Process the image to extract text
        using var res = ocrEngine.Process(img);

        // Output the recognized text
        Console.WriteLine(res.GetText());
        Console.ReadKey();
    }
}
Imports Tesseract

Friend Class Program
	Shared Sub Main()
		' Initialize Tesseract engine with English language data
		Dim ocrEngine = New TesseractEngine("tessdata", "eng", EngineMode.Default)

		' Load the image to be processed
		Dim img = Pix.LoadFromFile("Demo.png")

		' Process the image to extract text
		Dim res = ocrEngine.Process(img)

		' Output the recognized text
		Console.WriteLine(res.GetText())
		Console.ReadKey()
	End Sub
End Class
$vbLabelText   $csharpLabel
  • Oncelikle, dil verilerini motora yukleyen bir TesseractEngine nesnesi oluşturulmasi gerekmektedir.
  • Daha sonra, istenilen görüntü dosyasi Pix.LoadFromFile yardimiyla yuklenir.
  • Görüntü, TesseractEngine icine gecirilerek Process metodu kullanilarak metin cikartilir.
  • Taninan metin GetText metodu ile elde edilir ve konsola yazdirilir.

OCR Metin Tanima Nasıl Yapilir, Sekil 2: Görüntüden cikartilan metin Görüntüden çıkarılan metin

1.3 Tesseract Dikkat Edilmesi Gerekenler

  1. Tesseract, 3.00 sürümünden itibaren çıktı metin formatlaması, OCR konumsal verileri ve sayfa düzeni analizini destekler.
  2. Tesseract, Windows, Linux ve MacOS'ta mevcuttur, ancak sınırlı geliştirme desteği nedeniyle esas olarak Windows ve Ubuntu'da amaçlandığı gibi çalıştığı onaylanmıştır.
  3. Tesseract, tek aralıklı ve orantılı olarak aralıklı metinleri ayırt edebilir.
  4. OCRopus gibi bir ön uç kullanarak, Tesseract daha zorlu OCR işleri, örneğin düzen analizi için arka uç olarak idealdir ve kullanılabilir.
  5. Tesseract'ın bazı eksiklikleri:
    • En son yapılar, Windows'ta derlenmek üzere tasarlanmamıştır
    • Tesseract C# API sarıcıları nadiren tutulur ve Tesseract'ın yeni sürümlerinden yıllar geridedir

C#'ta Tesseract hakkında daha fazla bilgi almak için, lütfen Tesseract eğitimine gidin.

2. IronOCR ile OCR

2.1. IronOCR Yükleme

NuGet Paket Yöneticisi Konsolu'na bir sonraki komutu girin:

Install-Package IronOcr

Veya farklı diller için ek paketlerle birlikte, kullanımı kolay ve basit olan IronOCR kütüphanesini NuGet Paket Yöneticisi aracılığıyla yükleyin.

OCR Metin Tanima Nasıl Yapilir, Sekil 3: IronOcr ve dil paketlerini NuGet Paket Yonetici'sinden kurun IronOcr ve diller paketlerini NuGet Paket Yöneticisi aracılığıyla yükleyin

2.2. IronOCR Kullanımı

Aşağıda, verilen görüntüden metni tanıyan bir örnek kod bulunmaktadır:

using IronOcr;

class Program
{
    static void Main()
    {
        // Create an IronTesseract instance with predefined settings
        var ocr = new IronTesseract()
        {
            Language = OcrLanguage.EnglishBest,
            Configuration = { TesseractVersion = TesseractVersion.Tesseract5 }
        };

        // Create an OcrInput instance for image processing
        using var input = new OcrInput();

        // Load the image to be processed
        input.AddImage("Demo.png");

        // Process the image and extract text
        var result = ocr.Read(input);

        // Output the recognized text
        Console.WriteLine(result.Text);
        Console.ReadKey();
    }
}
using IronOcr;

class Program
{
    static void Main()
    {
        // Create an IronTesseract instance with predefined settings
        var ocr = new IronTesseract()
        {
            Language = OcrLanguage.EnglishBest,
            Configuration = { TesseractVersion = TesseractVersion.Tesseract5 }
        };

        // Create an OcrInput instance for image processing
        using var input = new OcrInput();

        // Load the image to be processed
        input.AddImage("Demo.png");

        // Process the image and extract text
        var result = ocr.Read(input);

        // Output the recognized text
        Console.WriteLine(result.Text);
        Console.ReadKey();
    }
}
Imports IronOcr

Friend Class Program
	Shared Sub Main()
		' Create an IronTesseract instance with predefined settings
		Dim ocr = New IronTesseract() With {
			.Language = OcrLanguage.EnglishBest,
			.Configuration = { TesseractVersion = TesseractVersion.Tesseract5 }
		}

		' Create an OcrInput instance for image processing
		Dim input = New OcrInput()

		' Load the image to be processed
		input.AddImage("Demo.png")

		' Process the image and extract text
		Dim result = ocr.Read(input)

		' Output the recognized text
		Console.WriteLine(result.Text)
		Console.ReadKey()
	End Sub
End Class
$vbLabelText   $csharpLabel
  • Bu kod, dili ve Tesseract surumunu ayarlayarak bir IronTesseract nesnesi başlatir.
  • Daha sonra AddImage metodunu kullanarak görüntü dosyalarini yuklemek icin bir OcrInput nesnesi oluşturulur.
  • IronTesseract'in Read metodu görüntüyu isler ve metni cikartir, ve bu metin konsola yazdirilir.

OCR Metin Tanima Nasıl Yapilir, Sekil 4: IronOCR kutuphanesi kullanarak cikartilan metin cikisi IronOCR kütüphanesi kullanılarak çıkarılan metin çıktısı

2.3 IronOCR Dikkat Edilmesi Gerekenler

  1. IronOCR, Tesseract kütüphanesinin bir uzantısıdır ve daha fazla stabilite ve daha yüksek doğruluk sunar.
  2. IronOCR, PDF'lerden ve fotoğraflardan metin içeriği okuyabilir. Ayrıca 20'den fazla farklı barkod ve QR kodu okuyabilir.
  3. Çıktı, ya düz metin, yapılandırılmış veri, barkodlar ya da QR kodları olarak oluşturulabilir.
  4. Kütüphane, dünya genelinde 125 dili tanır.
  5. IronOCR, tüm .NET ortamlarda esnek bir şekilde çalışır (konsol, Web, masaüstü vb.) ve ayrıca Mono, Xamarin, Azure ve MAUI gibi en son mobil çerçeveleri de destekler.
  6. IronOCR ücretsiz deneme sunar ve daha düşük fiyatlı bir geliştirme edisyonuna sahiptir. Lisanslar hakkında daha fazla bilgi edinin.

Ayrıntılı bir IronOCR öğretici için, bu C# için bir görüntüden metin okuma makalesi'ne bakın.

Kannaopat Udonpant
Yazılım Mühendisi
Yazılım Mühendisi olmadan önce, Kannapat Japonya'daki Hokkaido Üniversitesi'nden Çevresel Kaynaklar alanında doktora yaptı. Derecesini tamamlarken, Biyoprodüksiyon Mühendisliği Bölümü'nün bir parçası olan Taşıt Robotik Laboratuvarı'na da üye oldu. 2022'de, Iron Software mühendislik ekibine katılmak iç...
Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara