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.
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
- Oncelikle, dil verilerini motora yukleyen bir
TesseractEnginenesnesi oluşturulmasi gerekmektedir. - Daha sonra, istenilen görüntü dosyasi
Pix.LoadFromFileyardimiyla yuklenir. - Görüntü,
TesseractEngineicine gecirilerekProcessmetodu kullanilarak metin cikartilir. - Taninan metin
GetTextmetodu ile elde edilir ve konsola yazdirilir.
Görüntüden çıkarılan metin
1.3 Tesseract Dikkat Edilmesi Gerekenler
- Tesseract, 3.00 sürümünden itibaren çıktı metin formatlaması, OCR konumsal verileri ve sayfa düzeni analizini destekler.
- 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.
- Tesseract, tek aralıklı ve orantılı olarak aralıklı metinleri ayırt edebilir.
- 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.
- 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.
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
- Bu kod, dili ve Tesseract surumunu ayarlayarak bir
IronTesseractnesnesi başlatir. - Daha sonra
AddImagemetodunu kullanarak görüntü dosyalarini yuklemek icin birOcrInputnesnesi oluşturulur. IronTesseract'inReadmetodu görüntüyu isler ve metni cikartir, ve bu metin konsola yazdirilir.
IronOCR kütüphanesi kullanılarak çıkarılan metin çıktısı
2.3 IronOCR Dikkat Edilmesi Gerekenler
- IronOCR, Tesseract kütüphanesinin bir uzantısıdır ve daha fazla stabilite ve daha yüksek doğruluk sunar.
- IronOCR, PDF'lerden ve fotoğraflardan metin içeriği okuyabilir. Ayrıca 20'den fazla farklı barkod ve QR kodu okuyabilir.
- Çıktı, ya düz metin, yapılandırılmış veri, barkodlar ya da QR kodları olarak oluşturulabilir.
- Kütüphane, dünya genelinde 125 dili tanır.
- 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.
- 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.




