Fotoğrafı Metne Çeviren Program (Tesseract Ocr)

Bu yazımda küçük bir uygulama geliştireceğiz. Amacımız fotoğraftaki bir yazıyı metne çevirmek olacaktır. Bu işleme ise OCR (Optical Character Recognition - Optik Karakter Tanıma) diyoruz. Uygulamamızı açık kaynak kodlu Tesseract kütüphanesini kullanarak yapacağız. Tesseract kütüphanesi açık kaynak kodlu, Hewlett-Packard - HP tarafından geliştirilmiş ücretsiz bir kütüphanedir. Tesseract hakkında daha geniş bilgiyi bu adreste bulabilirsiniz. Uygulamamıza geçelim Bir Windows Form App projesi açıp ekrana birer adet Buton, TextBox ve PictureBox nesnelerini ekliyoruz.  Nesnelerin özellikleri şöyle: // Buton Name = "btnDosyaSec"; Text = "Dosya Seç"; // PictureBox Name = "pbFoto"; // TextBox Name = "txtMetin"; Ekran görüntümüz şu şekilde olacaktır.

Projemize Tesseract kütüphanesini NuGet üzerinden yükleyelim. Bunun için Tools > NuGet Package Manager > Package Manager Console ekranına aşağıdaki komutunu yazalım.

Install-Package Tesseract -Version 3.0.2

Türkçe dil paketlerini buraya tıklayarak indirebilirsiniz. Şimdi btnDosyaSec click eventine aşağıdaki gibi kodlarımızı yazıyoruz. Yorum satırı olarak kodlar hakkında kısa bilgiler eklenmiştir. using alanına Tesseract kütüphanesini referans ediniz.

using Tesseract;
private void btnDosyaSec_Click(object sender, EventArgs e)
{
    OpenFileDialog oFile = new OpenFileDialog();
    oFile.Filter ="Resim Dosyaları |*.jpeg;*.jpg;*.png";
    oFile.InitialDirectory = Application.StartupPath; //var sayılan dizin uygulamamın bulunduğu dizin olsun
    if (DialogResult.OK == oFile.ShowDialog())
    {
       pbFoto.ImageLocation = oFile.FileName; //Seçilen dosyayı görmek içi PictureBox nesnesine atıyoruz.
         //tessdata dizininde dil paketleri bulunmaktadır. Türkçe için tur yazıyoruz.
        using (var dosya = new TesseractEngine(@"./tessdata", "tur", EngineMode.Default)) 
        {
            using (var img = Pix.LoadFromFile(oFile.FileName))
            {
                using (var txt = dosya.Process(img))
                {
                   txtMetin.Text = txt.GetText(); 
                }
            }
        }
    }
}

Örnek projeyi burada inceleyebilirsiniz.

Javascriptle Hesap Makinesi Önceki Yazı

Javascriptle Hesap Makinesi

GoDaddy'de Plesk Panel Üzerinde Ücretsiz SSL Sertifikası Kurulumu Nasıl Yapılır? Sonraki Yazı

GoDaddy'de Plesk Panel Üzerinde Ücretsiz SSL Sertifikası Kurulumu Nasıl Yapılır?

Yorum/Soru Yazın