Tesseract Kullanarak Görüntülerden Nasıl Metin Alınır
IronOCR ve Tesseract gibi kütüphanelerin kullanılması, geliştiricilere görüntülerden ve taranmış belgelerden metinsel bilgi çıkartmak için gelişmiş algoritmalar ve makine öğrenimi tekniklerine erişim sağlar. Bu eğitimde okuyuculara, görüntülerden metin çıkarmak için Tesseract kütüphanesini nasıl kullanacakları gösterilecek ve ardından IronOCR'nin benzersiz yaklaşımı tanıtılacaktır.
1. Tesseract ile OCR
1.1. Tesseract'ı Kurma
NuGet Package Manager Console'u kullanarak, aşağıdaki komutu girin:
Install-Package Tesseract
Ya da NuGet Package Manager üzerinden paketi indirin.
NuGet Paket Yöneticisinde Tesseract paketini yükleyin
NuGet Paketini yükledikten sonra, dil dosyalarını projenizin klasörüne manuel olarak kurmanız ve kaydetmeniz gerekir. Bu, bu özel kütüphanenin bir eksikliği olarak düşünülebilir.
Dil dosyalarını indirmek için aşağıdaki web sitesini ziyaret edin. İndirdikten sonra, dosyaları açın ve "tessdata" klasörünü projenizin debug klasörüne ekleyin.
1.2. Tesseract'ı Kullanma (Hızlı Başlangıç)
Verilen bir görüntüdeki OCR, aşağıdaki kaynak kodu 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
- İlk olarak, dil verilerini motora yükleyerek bir
TesseractEnginenesnesi oluşturulmalıdır. - Ardından, istenen resim dosyası
Pix.LoadFromFileyardımıyla yüklenir. - Metni çıkarmak için
Processyöntemi kullanılarak resimTesseractEngineiçine geçirilir. - Tanınan metin,
GetTextyöntemi ile elde edilir ve konsola yazdırılır.
Görüntüden çıkarılan metin
1.3 Tesseract Dikkat Edilmesi Gerekenler
- Tesseract, 3.00 sürümünden itibaren çıktı metni biçimlendirmeyi, OCR konum verilerini ve sayfa düzeni analizini destekler.
- Tesseract, Windows, Linux ve MacOS üzerinde mevcuttur, ancak sınırlı geliştirme desteği nedeniyle Windows ve Ubuntu'da beklenildiği gibi çalıştığı öncelikli olarak doğrulanmıştır.
- Tesseract, sabit aralıklı ve orantılı aralıklı metinleri ayırt edebilir.
- OCRopus gibi bir ön yüz kullanılarak, Tesseract bir arka uç olarak idealdir ve daha zorlu OCR işleri için kullanılabilir, örneğin düzen analizi gibi.
- Tesseract'ın bazı eksiklikleri:
- Son sürümler, Windows'ta derlenmek üzere tasarlanmamıştır
- Tesseract'ın C# API sarmalayıcıları nadiren güncellenmektedir ve Tesseract'ın yeni sürümlerinin yıllar gerisindedir
C# dilindeki Tesseract hakkında daha fazla bilgi edinmek için lütfen Tesseract eğitimine bakın.
2. IronOCR ile OCR
2.1. IronOCR Yükleme
NuGet Package Manager Console'a aşağıdaki komutu girin:
Install-Package IronOcr
Ya da IronOCR kütüphanesini NuGet Package Manager üzerinden, diğer diller için ek paketlerle birlikte ve kullanımı basit ve uygun bir şekilde yükleyin.
NuGet Paket Yöneticisi üzerinden IronOCR ve diller paketleri kurun
2.2. IronOCR Kullanma
Aşağıda verilen görüntüden metni tanımak için örnek bir 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, dil ve Tesseract sürümünü ayarlayarak bir
IronTesseractnesnesini başlatır. - Ardından,
AddImageyöntemi kullanılarak resim dosyalarını yüklemek için birOcrInputnesnesi oluşturulur. IronTesseract'inReadyöntemi resmi işler ve metni çıkarır, ardından metin konsola yazdırılır.
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'ler ve fotoğraflardan metin içeriğini okuyabilir. Ayrıca çubuk kodlar ve kare kodlar (QR kodları) dahil olmak üzere 20'den fazla farklı türü okuyabilir.
- Çıktı, düz metin, yapılandırılmış veri, çubuk kod veya kare kod olarak işlenebilir.
- Kütüphane, dünya genelinde 125 dili tanır.
- IronOCR, tüm .NET ortamlarında esnek bir şekilde çalışır (konsol, Web, masaüstü, vb.) ve aynı zamanda Mono, Xamarin, Azure ve MAUI gibi en yeni mobil framework'leri de destekler.
- IronOCR, ücretsiz bir deneme sunar ve daha düşük fiyatlı bir geliştirme sürümüne sahiptir. Lisanslar hakkında daha fazla bilgi edinin.
Ayrıntılı bir IronOCR eğitim kılavuzu için, C#'ta bir görüntüden metin okuma konusunda bu makaleye başvurun.




