Birden Çok Dil için Tesseract OCR (Geliştirici Eğitimi)
OCR, farklı doğadaki belgeleri düzenlenebilir ve aranabilir veriye dönüştüren bir teknoloji. Bu, taranmış görüntüleri, PDF dosyalarını ve dijital kamera fotoğraflarını düzenlenebilir ve aranabilir veri haline getirir. Bu teknoloji, basılı belgelerin düzenleme, arama ve saklama için dijital forma dönüştürülmesinde fiziksel alan azaltarak geniş çapta kullanılmaktadır. OCR, veri girişi otomasyonunda büyük rol oynar, böylece insan kaynakları tarafından kullanılan işgücünü azaltarak şirketler ve kuruluşlar için çok zaman kazandırır.
Bu, gelişmiş makine öğrenimi teknikleri ve desen tanıma kullanarak görüntülerden metni doğru bir şekilde çıkarmak için bir süreçtir. OCR ile ilgili en son gelişmeler, doğruluğunu arttırdı ve daha fazla dil ve Arap alfabesi gibi karmaşık yazıları desteklemeye başladı. Finans, sağlık, mevzuat ve eğitimde çok gerekli olan OCR, birçok basılı belgenin hızlıca işlenmesinin ön koşul olduğu hallerde vazgeçilmez bir araç olarak ortaya çıktı. Bu makalede, OCR'yi birçok dil veriine Tesseract kullanarak uygulayacağız.
Tesseract OCR'yi Birden Fazla Dille Nasıl Kullanılır
- Öncelikle, IronOCR/Tesseract NuGet paketini .NET projenize kurun.
- OCR motorunu başlatacak olan
IronTesseractsınıfının bir örneğini oluşturun. - Dil özelliği birden fazla dili destekler.
- İşlemek istediğiniz görüntü dosya yolunu belirtin, ardından bir
OcrInputnesnesi oluşturun. - Şimdi, giriş görüntüsünde OCR işlemini,
IronTesseractörneğininReadfonksiyonunu kullanarak gerçekleştirin. - Sonucu alın ve tanınan metni görüntüleyin.
Tesseract nedir?
Tesseract, Hewlett-Packard tarafından geliştirilen ve daha sonra Google tarafından sürdürülen bir açık kaynaklı Optik Karakter Tanıma motorudur. Yüksek doğruluğu ve uyarlanabilirliği ile tanınır ve onu öne çıkan OCR'lerden biri yapar. Tesseract, yazı algılama desteğine sahiptir, birçok dilde metin tanır ve çoklu dilleri işleyebilir; dolayısıyla, genellikle çok dilli belgeler ve desteğe ihtiyaç duyan projelerde kullanılır.
Tesseract OCR motoru, herhangi bir görüntünün tek bir pikselindeki bilgileri işler, karakterler, kelimeler ve cümleleri temsil eden desenlere göre karakterleri makine tarafından okunabilir metin haline çevirir. Desteklediği birçok görüntü dosya türü, TIFF, JPEG ve PNG gibi, Tesseract'ın düz metin, HTML ve aranabilir PDF gibi formatlarda metin çıkarabilmesini sağlar.
Tesseract'ın büyük avantajlarından biri, belirli yazı tiplerine veya yeni eklenen dillere duyarlı olacak şekilde eğitilebilmesidir. Ayrıca, basit metin çıkarma işlemlerinden tarihî belgeleri dijitalize etme, faturaları işleme veya görme engelliler için okuma sağlayan erişilebilirlik yazılımlarına kadar çeşitli uygulamalarda sıklıkla kullanılır.
Visual Studio'da Yeni Proje Oluşturma
Visual Studio programını açın. Programı açtıktan sonra "dosya menüsü"ne gidin. "Dosya menüsü" altında "yeni proje" seçeneği mevcuttur. "Yeni proje" altında "Konsol Uygulaması"na tıklayın. Bu yazıda, bir konsol programı kullanarak PDF belgeleri oluşturacağız.
Tesseract OCR Çok Dilli Kullanım (Geliştirici Eğitimi): Şekil 1 - Yeni bir proje oluşturun
Projenizin adını ve dosyanın konumunu belirtilen metin kutularına girin. Daha sonra, aşağıdaki resimde gösterildiği gibi Oluştur butonuna tıklayın ve hangi .NET Framework'e ihtiyacınız olduğunu seçin.
Tesseract OCR Çok Dilli Kullanım (Geliştirici Eğitimi): Şekil 2 - Proje ve kaydetme konumunu belirleyerek .NET Framework'ü seçin.
Uygulama sürümü seçildikten sonra, Visual Studio projesi kendi yapısını oluşturacaktır. Console, Windows veya web sürümlerinden birini seçtiyseniz, uygulama oluşturmak/çalıştırmak ve kod eklemek için program.cs dosyasını açacaktır.
.NET İçin Tesseract OCR Kurulumu
İlk adım, Tesseract OCR yazılımını bilgisayarınıza indirmek ve kurmaktır. İşte Tesseract yükleyicisi ile resmi Tesseract GitHub deposu: https://github.com/tesseract-ocr/tesseract.
Tesseract OCR'yi, işletim sisteminize özel kurulum talimatlarını izleyerek bilgisayarınıza yüklemeniz en iyisi olur—ister Windows, ister macOS veya Linux olsun. Yüklendikten sonra, Visual Studio'nun NuGet Paket Yöneticisi'ni kullanarak Tesseract.NET paketini C# projenize ekleyin.
Visual Studio projenizde, Araçlar -> NuGet Paket Yöneticisi -> Çözüm için NuGet Paketlerini Yönet seçeneğinden itibaren NuGet Paket Yöneticisi'ni açın. Sonrasında, Tesseract veya Tesseract.NET paketini elde etmek için NuGet Paket Yöneticisi'nde "Tesseract" arayın. Bu paketi seçin ve projenize yüklemek için Kur butonuna tıklayın.
Tesseract OCR Çok Dilli Kullanım (Geliştirici Eğitimi): Şekil 3 - Gözatma sekmesinde Tesseract'ı arayın
Tesseract OCR using C
Tesseract.NET sarmalayıcısını yükledikten sonra Tesseract OCR yürütülebilir dosyasının ve dil veri dosyalarının konumunu belirtmek için C# projenizde Tesseract'ı ayarlamalısınız. İşte bir örnek:
using System;
using System.Drawing;
using Tesseract;
class Program
{
static void Main()
{
// Set the path to the Tesseract data files (traineddata files)
string tessDataPath = @"./tessdata"; // Ensure this directory contains the language data files
// Load the image
string imagePath = @"path_to_your_image.png";
using (var img = Pix.LoadFromFile(imagePath))
{
// Add languages to the Tesseract engine
using (var engine = new TesseractEngine(tessDataPath, "eng+spa+fra", EngineMode.Default))
{
using (var page = engine.Process(img))
{
// Extract the text
string text = page.GetText();
Console.WriteLine("Recognized Text:");
Console.WriteLine(text);
}
}
}
}
}
using System;
using System.Drawing;
using Tesseract;
class Program
{
static void Main()
{
// Set the path to the Tesseract data files (traineddata files)
string tessDataPath = @"./tessdata"; // Ensure this directory contains the language data files
// Load the image
string imagePath = @"path_to_your_image.png";
using (var img = Pix.LoadFromFile(imagePath))
{
// Add languages to the Tesseract engine
using (var engine = new TesseractEngine(tessDataPath, "eng+spa+fra", EngineMode.Default))
{
using (var page = engine.Process(img))
{
// Extract the text
string text = page.GetText();
Console.WriteLine("Recognized Text:");
Console.WriteLine(text);
}
}
}
}
}
Imports System
Imports System.Drawing
Imports Tesseract
Friend Class Program
Shared Sub Main()
' Set the path to the Tesseract data files (traineddata files)
Dim tessDataPath As String = "./tessdata" ' Ensure this directory contains the language data files
' Load the image
Dim imagePath As String = "path_to_your_image.png"
Using img = Pix.LoadFromFile(imagePath)
' Add languages to the Tesseract engine
Using engine = New TesseractEngine(tessDataPath, "eng+spa+fra", EngineMode.Default)
Using page = engine.Process(img)
' Extract the text
Dim text As String = page.GetText()
Console.WriteLine("Recognized Text:")
Console.WriteLine(text)
End Using
End Using
End Using
End Sub
End Class
Yukarıdaki kod, Tesseract OCR'nin birden fazla dili içeren görüntülerden metni algılayıp çıkarabildiğini açıklar. Öncelikle, Tesseract dil veri dosyalarının yolunu ayarlıyor. İngilizce, İspanyolca ve Fransızca gibi her bir ilgili dil için gerekli .traineddata dosyaları yol üzerinde bulunmalıdır.
Tesseract OCR Çok Dilli Kullanım (Geliştirici Eğitimi): Şekil 4 - Örnek girdi
Bir görüntüyü, imagePath tarafından belirtilen ve Pix.LoadFromFile yöntemi kullanılarak yükler. Daha spesifik olarak, İngilizce, İspanyolca ve Fransızca metin içeren bir görüntü olması beklenir. Daha sonra, TesseractEngine örneği, dil veri dosyalarının yolları ve "eng+spa+fra" gibi ilgilenilen diller ile tanımlananarak başlatılacak ve metni tanıyacaktır. Motor varsayılan modda çalışacak.
Tesseract OCR Çok Dilli Kullanım (Geliştirici Eğitimi): Şekil 5 - Örnek konsol çıktısı
Ardından, motor sınıfının Process yöntemi kullanılarak görüntü işlenir, analiz edilir, metin içeriği çıkarılır ve text değişkenine kaydedilir. Çıkarılan metin daha sonra OCR'nin nasıl çalıştığını görselleştirerek konsola yazdırılır.
IronOCR nedir?
IronOCR, .NET odaklı tescilli bir OCR kütüphanesidir. Bu, .NET uygulamalarına OCR yetenekleri ekler ve görüntülerden metin çıkarımını, taranmış belgeleri, PDF dosyalarını ve diğer tüm görsel medyayı sağlar. Çok başarılı Tesseract motoru ile ileri düzeyde metin tanıma sağlayan IronOCR, ayrıca kurumsal uygulamalarda kullanım için uygun hale getiren birkaç ek özellik de içerir.
IronOCR, otomatik dil algılama ve çoklu dillerde belgeleri işlem desteği ile 120'den fazla dil desteği sunar. Bu, IronOCR'yi çok yönlü ve çok dilli belge işlemenin kritik önem taşıdığı küresel dağıtım için kullanılabilir kılar.
Tesseract OCR Çok Dilli Kullanım (Geliştirici Eğitimi): Şekil 6 - IronOCR: C# OCR Kütüphanesi
Öte yandan, IronOCR kullanımın ve entegrasyonun basitliğine vurgu yapar. Son derece kolay kullanıma sahip API'si, ayrıntılı belgeler ve her geliştiricinin hızla çalışmaya başlamasına yardımcı olacak bir dizi örnek projeyle desteklenmiştir. Çeşitli görüntü formatlarını ve PDF belgelerini destekler. İçerisinde yerleşik gelişmiş görüntü ön işleme, gürültü azaltma ve hata düzeltme özellikleri, OCR doğruluğunu ve performansını artırır.
IronOCR Yükle
Paketleri Visual Studio'nun NuGet Paket yönetim aracı kullanarak çözümünüze doğrudan kurabilirsiniz. Aşağıdaki anlık görüntü NuGet Paket Yöneticisini nasıl açacağınızı gösteriyor.
Tesseract OCR Çok Dilli Kullanım (Geliştirici Eğitimi): Şekil 7 - Visual Studio üzerinden NuGet paket yöneticisine nasıl ulaşılır
Yerleşik arama kutusu, NuGet web sitesindeki paket listesini görüntüler. Aşağıdaki ekranda gördüğünüz gibi, "IronOCR" ifadesini paket yöneticisinde arayacağız:
Tesseract OCR Çok Dilli Kullanım (Geliştirici Eğitimi): Şekil 8 - Çözüm gezgininde IronOCR arayın
Arama sonuçları potansiyel çözümler listesini sunabilir. Yüklemek için gerekli çözüm paketini seçmeniz gerekecek.
Ayrıca, gerekli Tesseract dil paketlerini teker teker yükleyin, bu örnek için aşağıdaki gibi.
Bu örnekte İngilizce, Fransızca ve İspanyolca dil kodlarını kullanacağız. İngilizce varsayılan dil paketidir ve kurulum gerektirmez.
Tesseract OCR Çok Dilli Kullanım (Geliştirici Eğitimi): Şekil 9 - Fransızca dil paketini yükleyin
NuGet paketinden İspanyolcayı yükleyin.
Tesseract OCR Çok Dilli Kullanım (Geliştirici Eğitimi): Şekil 10 - İspanyolca dil paketini yükleyin
IronOCR ile Tesseract Motoruyla Birden Çok Dil Okuma
Aşağıdaki örnek, C# ve IronOCR ile Tesseract motorunu kullanarak bir görüntüdeki çoklu dillerdeki metni nasıl tanıyacağınızı gösteriyor.
using IronOcr;
class Program
{
static void Main(string[] args)
{
// Initialize IronTesseract engine
var Ocr = new IronTesseract();
// Add multiple languages
Ocr.Language = OcrLanguage.English + OcrLanguage.Spanish + OcrLanguage.French;
// Path to the image
var inputFile = @"path\to\your\image.png";
// Read the image and perform OCR
using (var input = new OcrInput(inputFile))
{
// Perform OCR
var result = Ocr.Read(input);
// Display the result
Console.WriteLine("Recognized Text:");
Console.WriteLine(result.Text);
}
}
}
using IronOcr;
class Program
{
static void Main(string[] args)
{
// Initialize IronTesseract engine
var Ocr = new IronTesseract();
// Add multiple languages
Ocr.Language = OcrLanguage.English + OcrLanguage.Spanish + OcrLanguage.French;
// Path to the image
var inputFile = @"path\to\your\image.png";
// Read the image and perform OCR
using (var input = new OcrInput(inputFile))
{
// Perform OCR
var result = Ocr.Read(input);
// Display the result
Console.WriteLine("Recognized Text:");
Console.WriteLine(result.Text);
}
}
}
Imports IronOcr
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Initialize IronTesseract engine
Dim Ocr = New IronTesseract()
' Add multiple languages
Ocr.Language = OcrLanguage.English + OcrLanguage.Spanish + OcrLanguage.French
' Path to the image
Dim inputFile = "path\to\your\image.png"
' Read the image and perform OCR
Using input = New OcrInput(inputFile)
' Perform OCR
Dim result = Ocr.Read(input)
' Display the result
Console.WriteLine("Recognized Text:")
Console.WriteLine(result.Text)
End Using
End Sub
End Class
Kullanılan C# programı, İngilizce, İspanyolca ve Fransızca karakterler içeren bir görüntüde Optik Karakter Tanıma gerçekleştirmek için IronOCR kütüphanesini kullanır. Program, IronOCR için gerekli olan namespace'i içe aktararak ve uygulamanın giriş noktası olan Main yöntemi ile Program adlı bir sınıf tanımlayarak başlar.
Ana metod içinde, IronTesseract sınıfının bir örneği oluşturulur ve Ocr değişkenine atanır. Language özelliği, OcrLanguage.English, OcrLanguage.Spanish ve OcrLanguage.French'ı birleştirerek İngilizce, İspanyolca ve Fransızcayı içerecek şekilde ayarlanmıştır. Bu, OCR motorunun bu üç dilden herhangi birinde metni tanımasını ve işlemesini sağlar.
Giriş görüntü dosyasının yolu inputFile değişkeni kullanılarak ayarlanır. Görüntü daha sonra uygun kaynak yönetimi ve atığı için OcrInput sınıfının bir örneği ile bir using ifadesi içinde yüklenir. Son olarak, IronTesseract örneğinin Read metodu, görüntü üzerinde OCR gerçekleştirmek için giriş nesnesi ile çağrılır.
Tanılanan metin daha sonra Console.WriteLine metodu kullanılara konsola yazdırılır. Bu program, IronOCR'un çok dilli kapasitesini kullanarak farklı dillerde kelimeler içeren görüntülerden metin çıkarmanın etkili bir yolunu göstermektedir.
Tesseract OCR Çok Dilli Kullanım (Geliştirici Eğitimi): Şekil 11 - Tanımlanan metin çıktısı
IronOCR Neden Tesseract'tan Daha İyi?
IronOCR, Tesseract'a kıyasla daha kullanımı kolaydır ve bazı avantajları vardır. Öncelikle, IronOCR, kutudan çıktığı haliyle 125 dilde mükemmel dil desteği sunar, oysa Tesseract, desteklediği 100 dil ile bazıları için optimal performans sağlamak amacıyla karmaşık yapılandırmalar ve ek eğitim gerektirebilir. Ek olarak, IronOCR .NET uygulamalarına kolayca entegre edilir ve kapsamlı belgelerle birlikte gelir.
IronOCR, daha az zorlu bir öğrenme eğrisine sahiptir ve Tesseract'a göre daha az teknik kurulum gerektirir. Ayrıca, gelişmiş görüntü ön işleme özellikleri ve karmaşık belge türlerinde daha iyi doğruluk ve güvenilirlik için düzenli güncellemeler içerir. İyi bir, çok yönlü ve kolayca uygulanabilir OCR çözümü arayan geliştiriciler için IronOCR harika bir seçimdir.
Sonuç
Tesseract OCR Çok Dilli Kullanım (Geliştirici Eğitimi): Şekil 12 - IronOCR lisanslama sayfası
Her iki OCR teknolojisinin de güçlü özellikleri ve avantajları olsa da, Tesseract ve IronOCR'ın kendi özel yetenekleri ve güçlü yönleri vardır. Tesseract, açık kaynaklı olması sebebiyle, ücretsiz çözüm arayanlar için güvenilirdir ve aktif topluluklar ve sürekli iyileştirmeyle birlikte gelir.
Buna karşılık, IronOCR, .NET Framework için tescilli bir kütüphanedir, daha iyi bir kullanıcı deneyimi ve daha kolay entegrasyon sunar, ayrıca çoğu görüntü dosya türünü destekler. Özellikle düşük kaliteli görüntü içeriklerinde metin tanımada iyi performans gösterir. IronOCR, çok sayıda dili tam destekler ve kullanıcı dostu hale getiren ekstra özelliklere sahiptir.
IronOCR, makul maliyetli bir geliştirme sürümü sunar ve satın alındığında, ömür boyu lisans sağlar. IronOCR paketi, birden fazla sistem için tek seferlik bir maliyetle $liteLicense'den başlar, mükemmel bir değer sunar ve lisanslı kullanıcılara 7/24 çevrimiçi mühendis desteği sağlar. Daha fazla bilgi için IronOCR web sitesine bakın.
Sıkça Sorulan Sorular
.NET projesinde çok dilli olarak Tesseract OCR'yi nasıl kullanabilirim?
IronOCR kütüphanesini kullanarak, birden fazla dildeki metni içeren görüntüleri işlemek için Tesseract OCR'nin entegrasyonunu kolaylaştırabilirsiniz. .NET projenize IronOCR/Tesseract NuGet paketini ekleyin ve IronTesseract sınıfının Language özelliğini kullanarak dilleri yapılandırın.
IronOCR standart Tesseract'a göre hangi avantajları sunuyor?
IronOCR, .NET uygulamaları için daha kullanıcı dostu bir API sunar, kutudan çıkar çıkmaz 120'den fazla dili destekler ve doğruluğu artırmak için gelişmiş görüntü ön işleme sunar. Geliştiriciler için geniş dokümantasyon ve destek sunarak .NET projeleriyle sorunsuz bir şekilde bütünleşir.
IronOCR, aynı anda birden fazla dildeki belgeleri işleyebilir mi?
Evet, IronOCR Language özelliğine birden fazla dil ayarlayarak çok dilli belgeleri işleyebilir. Bu özellik, belgelerde farklı dillerde metin içerebilecek küresel uygulamalar için özellikle yararlıdır.
Bir C# projesine IronOCR'yi kurma süreci nedir?
Bir C# projesine IronOCR kurmak için, önce Visual Studio'nun NuGet Paket Yöneticisi aracılığıyla IronOCR/Tesseract NuGet paketini yükleyin. Ardından kodunuzda bir IronTesseract sınıfı örneği oluşturun ve metin içeren görüntüleri işlemek için yöntemlerini kullanın.
IronOCR, OCR sonuçlarının doğruluğunu nasıl artırır?
IronOCR, görüntü kalitesini metin çıkarmadan önce iyileştiren gelişmiş görüntü ön işleme teknikleriyle doğruluğu artırır. Bu özellik, farklı kalitede görüntülerden metni doğru bir şekilde tanımada yardımcı olur.
IronOCR hangi tür belgeleri işleyebilir?
IronOCR, taranan görüntüler, PDF'ler ve dijital kameralarla çekilen fotoğraflar dahil olmak üzere çeşitli doküman türlerinde işlem yapabilir. Bu belgeleri düzenlenebilir ve aranabilir veri formatlarına dönüştürür.
IronOCR, veri giriş görevlerini otomatikleştirmek için uygun mu?
Evet, IronOCR, basılı belgeleri dijital metne dönüştürerek manuel çalışmayı azaltarak ve zaman tasarrufu sağlayarak veri girişini otomatikleştirmede oldukça etkilidir. Finans, sağlık ve eğitim gibi sektörlerde yaygın olarak kullanılmaktadır.
IronOCR, geliştiricilere OCR teknolojisini uygulamada nasıl destek oluyor?
IronOCR, kapsamlı dokümantasyon, kullanıcı dostu API ve 7/24 çevrimiçi mühendis desteği sunarak geliştiricilerin .NET uygulamalarında OCR teknolojisini uygulamalarını kolaylaştırır.
IronOCR için başlıca kullanım durumları nelerdir?
IronOCR, basılı belgeleri dijitalleştirmek, veri girişini otomatikleştirmek, faturaları işlemek ve görme engelli kullanıcılar için erişilebilirlik yazılımları geliştirmek için kullanılır. Finans, sağlık ve eğitim dahil olmak üzere çeşitli endüstrilerde uygulanabilir.



