Altbilgi içeriğine atla
OCR ARAçLARı
C#'da Açık Kaynak Kütüphaneler Kullanarak OCR Uygulaması Nasıl Yapılır?

C# Açık Kaynak OCR (Geliştiriciler İçin Liste)

OCR (Optik Karakter Tanıma), taranan belgelerin günümüzün dijital dünyasında nasıl kullanılabileceğini tamamen dönüştüren bir teknoloji devrimidir. Bu, bilgisayarların taranmış PDF belgeleri dahil birçok kaynaktan metni tanımasını ve çıkarmasını olanaklı kılarak, PDF belgelerini etkili bir şekilde düzenlememizi ve onlarla etkileşimde bulunmamızı sağlar. Optik karakter tanıma (OCR) programlarından biri olan Adobe Acrobat, taranmış belgelerden metni hızla çıkarmanıza ve bunları düzenlenebilir PDF'lere ve aranabilir görüntü PDF'lerine dönüştürmenize olanak tanır.

Geliştiriciler, Tesseract ve IronOCR gibi OCR kutuphanelerini kullanarak ileri duzey algoritmalar ve makine ogrenme yaklaşimlarindan faydalanan guclu araçlara ve API'lere erişebilir. Bu kutuphaneler, hem daha once taranmis belgelerden hem de yeni belgelerden faydali bilgileri yonetmeyi ve almayi kolaylastiran dogru metin tanimasini saglar. OCR, taranmis belgelerinizin ve sayfa gorsellerinizin tam potansiyelini kullanarak işletmelere ve bireylere urunlerini artırmalarinda yardımcı olur ve nahtalomalarisi oneyi sunar. OCR, kağıt tabanli kayıtların dijitalleştirilmesi, faturalarla veri elde edilmesi veya doküman erişebilirliğinde iyileştirme yapılması anlamına gelsin, güncel teknolojide önemli bir araçtır.

Tesseract

En tanınmış açık kaynak OCR motoru, Tesseract olarak adlandırılır ve ilk olarak Hewlett-Packard tarafından oluşturulmuştur. 2006 yılından bu yana Google, Apache lisansı altında yayımlanan bu ozel yazılım projesini desteklemektedir.

Piyasada bulunan en doğru açık kaynaklı ve ücretsiz sistemlerden biri Tesseract OCR motorudur. Tesseract su anda, LSTM tabanlı en son kararlı sürumu olan 4.1.1 ile 116 dili desteklemektedir.

Tesseract, kendi içermiş arayuzu olmadıgından dolayı komut satırı araç yüzünden çalışırken ayrı bir GUI (grafik kullanıcı arayuzu) desteğine ihtiyaç̧ duyar. Onun sinir ağları ile yeni bilgiler öğrenebilir ve gelişmiş bir görüntü önişleme hattına sahiptir. .NET uygulamanıza OCR özellikleri eklemenin en etkili yolu, Tesseract .NET SDK'sidir; metin tanıma yetenekleri sunmak için en iyi çözümlerden biridir. Tesseract, piyasadaki en iyi OCR kutuphanesi olmasına rağmen.

GOCR

GOCR (Optik Karakter Tanıma) programı, GNU Kamu Lisansı kullanılarak oluşturulmuştur. Metin dosyalarını taranmış belge görüntülerine geri dönüştürür. Programı başlattıktan ve SF'deki geliştirme ekibini yönettiktan sonra, Joerg Schulenburg paketi şuan (çok) düşük bir zamanly üzyelinda handle etmeye devam etmektedir.

GOCR çok sayıda ön yüz ile kullanılabileceğinden, diğer işletim sistemlerine, ağ uygulamalarına ve mimarilere portlama işlemi nispeten basittir. Çeşitli resim dosyası türlerini okuyabilir ve 2010 yılına kadar kalitesi surekli olarak iyileşti.

GOCR'a göre tek sutunlu sans-serif yazı tipleri 20 ile 60 piksel boyunda işleyebilir. Latin olmayan alfabede yazılmış metinler, serif yazı tipleri, üst üste binen harfler, farklı yaızı tipleri, gürültülü fotolar ve aşırı eğim açısından zorluklar bildirir. GOCR, aynı zamanda barkodları da çevirebilir.

CuneiForm

CuneiForm, ücretsiz ve açık kaynaklı bir teknoloji olup, şimdi de 'COgnitive OpenOCR' olarak bilinmektedir. Dahili çıkış ve bir veritabanı vardır. 23 farklı dili kapsar ve ayrıca metin format taraması, belge yerleşimi analizi ve tanımlaması gibi görevleri yerine getirir.

Cognitive Technologies, OpenOCR için lisanslar geliştirildi, ki bu lisanlar freeware ve BSD'dir. Her ne kadar platformlar arası kullanım desteklense de, Linux korsanlarına grafiksel bir yüz verilmemektedir.

Herhangi bir Dot NET Framework 2.0 veya daha sonraki uygulamalarda karakter tanıma işini basitleştirmek için sargı kutuphanesi Puma Dot NET kullanılır. Verinin işlenmesi sırasında bir sözlük kontrolü yaparak tanıma kalitesini artırır.

CuneiForm, kağıt belgelerin ve görüntü dosyalarının elektronik kopyalarını yapı ve orijinal belge yazı tiplerini etkilemeden düzenlenebilir bir forma oto ya da yarı-otomatik dönüştürmek için tasarlanmış bir teknolojidir. Sistem, toplu halde elektronik belgeleri işlemek için iki parça ve bir anda bir belgeyi işleme için bir parçadan oluşmaktadır. Ayrıca sistem, rusça ve ingilizce dil kombinasyonunu destekler. Andrei Borovsky tarafından 2009 yılında oluşturulan sadece dal hybrid bir dili tanıyabilir. Sistemi öğrenmek ve diğer dilleri tanımak zor, çünkü her dil bir dat-dosyasi ile ilişkili olup, yapısı ve oluşturma prosesi geliştiriciler tarafından paylaşılmamakta.

Kraken

Kraken, Ocropus ile ilgili sorunları diğer özelliklerini etkilemeden ele almak için geliştirildi. Kendi CLSTM sinir ağı kutuphanesini kullanır ve önceki projelerden elde edilen değerli deneyimi taze verilerle birlikte kullanılar. Farklı platformlarda etkili bir şekilde çalışmak için bazı dış kutuphanelerin kullanımını gerektirir. Saklanan bilgiler yardımıyla, olası veri doğrulama sorunlarına ilişkin daha doğru tahminlerde bulunabilir. Ayrıca çalışma yöntemi, yeni modellerin kolayca uygulamaya konulmasını ve eğitilmesini sağlar.

A9T9

A9T9, resim dosyalarından metin çıkartmak ve görüntüleri ve PDF belgelerini dönüştürmek için kullanılabilecek ücretsiz bir OCR yazılımıdır. Tesseract OCR motoru için bir grafik kullanıcı arabirimi (GUI) sağlar.

Programın kurulumu kolaydır. En önemlisi, tamamen ücretsiz ve açık kaynaktır. Casus yazılım ve reklam yazılımı içermez.

Bir PDF dosyası veya resim açabilirsiniz ve kaynak dosya içeriği sol pencerede görüntülenir. Belgeleriniz çok sayfalıysa veya çok sayfalı bir belgeyse, sayfalar arasında gezinmek için sayfanın altındaki okları kullanabilirsiniz.

OCR sürecini başlatmak için yeşil OCR tuşuna tıklamanız yeterlidir ve çıktı ikinci sağ panelde görünür. Çıkış metnini hem metin dosyaları hem de Word belgeleri olarak kaydetme seçeneğine sahipsiniz.

IronOCR

Standart Tesseract kutuphanesine kıyasla, IronOCR Tesseract'i genişletir ve daha yüksek doğruluk, iyileştirilmiş performans ve artırılmış stabilite sağlayarak yerel bir C# OCR kutuphanesi sunar. IronOCR, .NET programlarında ve web sitelerinde PDF'lerden ve Görüntülerden metin çıkarmak için kullanılabilir. Çok sayıda yabancı dili destekler ve düz metin veya yapılandırılmış veri çıktısı üretebilir. Metin içeren resimleri ve barkodları tarama yeteneğine sahiptir. Kutuphane, konsol, web, MVC ve masaüstü için geliştirilen .NET uygulamalarında kullanılabilir. Geliştirme ekibi, ticari dağıtımlar için lisanslama süreci ile doğrudan yardım sunar. IronOCR, Visual Studio'nun en son sürümleriyle uyumludur.

IronOCR Avantajları

  • En son Tesseract 5 motoru kullanılarak, IronOCR çeşitli resim veya PDF dosyalarından kağıt belgeleri, barkodları ve QR kodlarını çözebilir. Bu paket, OCR'yi masaüstü, konsol ve web uygulamalarına entegre etmeyi basitleştirir.
  • IronOCR, taranmış PDF'leri aranabilir PDF'lere dönüştürmemizi sağlar.
  • Kelime listeleri ve özel diller dışında, IronOCR dünya çapında 125 farklı dili destekler.
  • IronOCR, 20'den fazla farklı barkod ve QR kodu tarayabilir.
  • IronOCR düz metin olarak ve barkod verisi olarak çıktı verebilir. Geliştiriciler, doğrudan bir sistemle veri girişi için alternatif yapılandırılmış veri nesnesi paradigmasını kullanarak tüm içeriği alabilir. Bu, web uygulamalarında yapılandırılmış başlıklar, paragraflar, satırlar, kelimeler ve karakterler içerir.

Aşağıda, verilen görüntüden metin içeriğini tanımak ve metin haline getirmek için kullanacağımız örnek kod bulunmaktadır.

using IronOcr;

// Instantiate an IronTesseract object to utilize its OCR capabilities
var Ocr = new IronTesseract();

// Set the language to English for better accuracy
Ocr.Language = OcrLanguage.EnglishBest;

// Optionally specify the Tesseract version to ensure compatibility
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;

// Create an OcrInput object to add images for OCR processing
using (var Input = new OcrInput())
{
    // Add the image to be processed; specify the image's path
    Input.AddImage(@"Demo.png");

    // Perform the OCR and store the result
    var Result = Ocr.Read(Input);

    // Output the extracted text to the console
    Console.WriteLine(Result.Text);

    // Pause the console to keep it open
    Console.ReadKey();
}
using IronOcr;

// Instantiate an IronTesseract object to utilize its OCR capabilities
var Ocr = new IronTesseract();

// Set the language to English for better accuracy
Ocr.Language = OcrLanguage.EnglishBest;

// Optionally specify the Tesseract version to ensure compatibility
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;

// Create an OcrInput object to add images for OCR processing
using (var Input = new OcrInput())
{
    // Add the image to be processed; specify the image's path
    Input.AddImage(@"Demo.png");

    // Perform the OCR and store the result
    var Result = Ocr.Read(Input);

    // Output the extracted text to the console
    Console.WriteLine(Result.Text);

    // Pause the console to keep it open
    Console.ReadKey();
}
Imports IronOcr

' Instantiate an IronTesseract object to utilize its OCR capabilities
Private Ocr = New IronTesseract()

' Set the language to English for better accuracy
Ocr.Language = OcrLanguage.EnglishBest

' Optionally specify the Tesseract version to ensure compatibility
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5

' Create an OcrInput object to add images for OCR processing
Using Input = New OcrInput()
	' Add the image to be processed; specify the image's path
	Input.AddImage("Demo.png")

	' Perform the OCR and store the result
	Dim Result = Ocr.Read(Input)

	' Output the extracted text to the console
	Console.WriteLine(Result.Text)

	' Pause the console to keep it open
	Console.ReadKey()
End Using
$vbLabelText   $csharpLabel

Yukarıdaki kod parçasında, IronTesseract kullanarak bir özellik geliştiriyoruz. Öncelikle, bir veya daha fazla görüntü dosyası eklemeyi etkinleştirmek için yeni bir OcrInput nesnesi oluşturuyoruz. Her bir görüntü yolunu AddImage yöntemi kullanarak belirterek istediğiniz kadar görüntü ekleyebilirsiniz. Görüntülerinizi ekledikten sonra, sağlanan girdi üzerinde OCR gerçekleştirmek için IronTesseract nesnesi üzerinde Read yöntemi çağrılır. Sonuçta çıkartılan metin alınır ve konsol aracılığıyla görüntülenir.

Aşağıdaki çıktı, daha once verilen resimden çıkartılan metni gösterir ve metnin basariyla resimden çıkartıldıgını kanıtlar.

OCR C# Açık Kaynak (Geliştiriciler İçin Liste) Şekil 1 - Çıktı

IronOCR konusunda detaylı bir talimat için bu gönderiye bakın.

Sonuç

OCR açık kaynak araçları, onların kaynak kodunu kullanarak kendi programlarimizi oluşturmamıza izin verir. Ancak, bazı araçların herhangi bir resmî kütüphanesi yoktur veya kodlama sorunlarında destek sağlamak için ayrılmış bir ekibi yoktur. Tesseract'ın belgeleri, ortak kullanım senaryoları için numune kod veya eğitim materyalleri de sunmaz, bu da acemiler için kodları ve kütüphaneleri anlamaya zorlaştırır.

IronOCR, .NET Framework Standard 2, .NET Framework 4.5 ve .NET Core 2, 3 ve 5 gibi çeşitli .NET projelerini destekler. Ayrıca, Mono, Xamarin ve Azure gibi yeni teknolojilerle de çalışır. IronOCR teknolojilerini kullanarak, Tesseract'ın sonuçlarını iyileştirebiliriz ve hatalı bir şekilde taranmış belgeleri veya görüntülerini düzeltebiliriz. Karmaşık Tesseract sözlük sistemi NuGet Paketi aracılığıyla yönetilir. Bir OCR aracı geliştiririz için Iron OCR Kutuphanesi'ni kullanırız.

IronOCR ile, herhangi bir ek yapılandırma olmadan programı kullanabiliriz ve PDF dosyalarını, çoklu kareli TIFF dosyalarını ve tüm ortak fotoğraf formalarını destekler. Ayrıca barkod tanıma yetenekleri sunar, bu da bize barkod verilerini çıkartarak görüntülerden barkod degerleri okumamıza olanak tanır. IronOCR, ücretsiz bir deneme ile bir maliyet-etkili geliştirme surumu sunar ve süresiz lisans, IronOCR paketi ile ek bir ücret ödemeden sunulur. IronOCR paketi, birden çok platform için tek bir ödeme ile kapsam sağlar. IronOCR'in fiyatlandırması hakkında daha fazla bilgi için bu sayfaya bakın.

Kannaopat Udonpant
Yazılım Mühendisi
Yazılım Mühendisi olmadan önce, Kannapat Japonya'daki Hokkaido Üniversitesi'nden Çevresel Kaynaklar alanında doktora yaptı. Derecesini tamamlarken, Biyoprodüksiyon Mühendisliği Bölümü'nün bir parçası olan Taşıt Robotik Laboratuvarı'na da üye oldu. 2022'de, Iron Software mühendislik ekibine katılmak iç...
Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara