Görüntüleri metne dönüştürmek günümüzde oldukça yaygın bir ihtiyaç haline geldi. Bu yazıda, C# kullanarak ASP.Net uygulamasında bir görüntüyü nasıl metne dönüştürebileceğinizi öğreneceksiniz.
Adım 1: Gerekli Kütüphaneleri Yükleyin
Görüntü işleme işlemi için, “System.Drawing” ve “System.IO” kütüphanelerini yüklemeniz gerekmektedir. Bunun için, Visual Studio üzerinde projenizi açın ve “Solution Explorer” üzerinde sağ tıklayarak “Manage NuGet Packages” seçeneğini seçin. Ardından, “Browse” sekmesine geçerek “System.Drawing” ve “System.IO” kütüphanelerini yükleyin.
Adım 2: Görüntüyü Yükleyin
Görüntüyü yüklemek için, ASP.Net’in “FileUpload” kontrolünü kullanabilirsiniz. Bu kontrol sayesinde, kullanıcıların bilgisayarlarından seçtikleri bir görüntüyü yükleyebilirsiniz. Aşağıdaki kod örneğinde, “FileUpload” kontrolü kullanılarak bir görüntü yüklenmektedir:
<asp:FileUpload ID=”fileUpload” runat=”server” />
Adım 3: Görüntüyü Metne Dönüştürün
Görüntüyü metne dönüştürmek için, OCR (Optik Karakter Tanıma) kullanabilirsiniz. OCR, görüntüdeki metinleri tanımlayabilen bir teknolojidir. Bu işlemi gerçekleştirebilmek için, Tesseract OCR kütüphanesini kullanabilirsiniz. Bu kütüphane, görüntülerdeki metinleri tanıyabilen açık kaynaklı bir yazılımdır.
Aşağıdaki kod örneğinde, Tesseract OCR kütüphanesi kullanılarak görüntü metne dönüştürülmektedir:
using System.Drawing;
using System.IO;
using Tesseract;
protected void btnConvert_Click(object sender, EventArgs e)
{
// Görüntüyü yükle
Bitmap image = new Bitmap(fileUpload.PostedFile.InputStream);
// OCR işlemi için gerekli ayarları yap
var ocr = new TesseractEngine(“./tessdata”, “tur”, EngineMode.Default);
ocr.SetVariable(“tessedit_char_whitelist”, “0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ”); // İzin verilen karakterler
// OCR işlemini gerçekleştir
var page = ocr.Process(image);
// OCR sonucunu al
string text = page.GetText();
// Metni ekrana yazdır
lblResult.Text = text;
}
Yukarıdaki kod örneğinde, “btnConvert_Click” olayı tetiklendiğinde yapılacak işlemleri sağlıyor