Altbilgi içeriğine atla
IRONOCR KULLANıMı

C# Eğitiminde Faturadan Metin Nasıl Alınır

Fiş OCR Nasıl Yapılır?

  1. Tesseract ile Fiş OCR için C# kütüphanesini kurun
  2. Makbuz üzerinde OCR gerçekleştirmek için zengin özellikli C# kütüphanesini keşfedin
  3. Tesseract ile fişten veri çıkarın
  4. Çıkarılmış metin sonucunda belirli veriler arayın
  5. Makbuz üzerinde barkod değerlerini okuyun

1. IronOCR, Optik Karakter Tanıma API'si

IronOCR, resimlerden metin verilerini tanımak ve bilgi çıkarmak için kullanılabilecek bir OCR kütüphanesidir, fiş OCR dahil. Tarih itibariyle fiş tanıma için mevcut en doğru OCR motorları arasında kabul edilen Tesseract OCR motoru üzerine inşa edilmiştir. IronOCR, metni birden çok dilde tanıyabilir ve PNG, JPG, TIFF, JSON ve PDF formatları dahil olmak üzere farklı belge türlerinden önemli bilgileri okuyabilir.

Metin yönelimini otomatik olarak algılama yeteneği, IronOCR'nin fiş OCR için özellikle faydalı olan özelliklerinden biridir, hatta görüntü döndürülmüş veya eğilmiş olsa bile. Bu, makbuz yüklemelerindeki metin tanımının ve veri çıkarmanın doğruluğu için gereklidir, çünkü makbuzlar genellikle çok fazla bilgi içerir ve katlanabilir veya buruşabilir, bu da metnin kaymasına neden olabilir.

2. IronOCR Özellikleri

  • C# OCR, fotoğraflardan, taranmış belgelerden ve PDF'lerden metinleri tarayıp tanımak için Derin Öğrenme kullanır.
  • .NET OCR, 125'ten fazla küresel dili destekler.
  • IronOCR, PNG, JPG, TIFF ve PDF dahil birçok dosya formatından resimlerden metin okuyabilir.
  • Çıkarılmış bilgilerden metin, yapılandırılmış veri, JSON çıktısı veya arama yapılabilir PDF'ler üretilebilir.
  • IronOCR, .NET sürümleri 5, 6 ve 7'yi (Core, Framework ve Standart) destekler.
  • IronOCR, girişi metin bölgelerine göre farklı resimlere böler. Bilgisayarlı Görü kullanarak metin öğelerini içeren alanları tanımlar.

3. Visual Studio'da Yeni Bir Proje Oluşturma

Visual Studio'yu açın ve Dosya menüsüne gidin. "Yeni Proje"yi seçin ve ardından Konsol Uygulaması'nı seçin.

Proje adını girin ve uygun metin kutusuna yolu seçin. Ardından, Oluştur düğmesine tıklayın. Gerekli .NET Framework'ü seçin, aşağıdaki ekran görüntüsü gibi:

Visual Studio'da yeni bir proje oluşturma

"Konsol Uygulaması" için proje yapısı şimdi oluşturulacak. Tamamlandığında, source code yazıp çalıştırabileceğiniz Program.cs dosyası açılacaktır.

Visual Studio Yeni Proje Sihirbazı tarafından oluşturulan Program.cs dosyası

4. IronOCR'yi Yükleyin

Visual Studio'da IronOCR'yi C# projenizle kolayca entegre edebilirsiniz. IronOCR, bir C#.NET projesi ile entegre etmenin birçok yolunu sunar. Burada bunlardan birini ele alacağız: NuGet Paket Yöneticisini kullanarak IronOCR'yi yükleyin.

Visual Studio'da Araçlar > NuGet Paket Yöneticisi > Paket Yöneticisi Konsolu bölümüne gidin.

Visual Studio NuGet Paket Yöneticisi Konsolu

Visual Studio pencerenizin alt kısmında yeni bir konsol belirecek. Konsola aşağıdaki komutu yazın ve enter tuşuna basın.

Install-Package IronOcr

IronOCR sadece birkaç saniye içinde yüklenecektir.

5. IronOCR Kullanarak Fişlerden Veri Çıkarımı

IronOCR, fişlerden detaylı veri çıkarmak ve erişmek için kullanılabilecek güçlü bir OCR kütüphanesidir. IronOCR ile bir fişe ait resmi makine tarafından okunabilir metne dönüştürebilir, bu da verilerin gizliliğini tehlikeye atmadan kolayca analiz edilip işlenebilir.

İşte IronOCR kullanarak bir fişten metin çıkarma örneği:

using IronOcr;
using System;

class Program
{
    static void Main()
    {
        IronTesseract ocrTesseract = new IronTesseract();

        // Load the receipt image
        using (OcrInput ocrInput = new OcrInput("ocr.png"))
        {
            // Read the OCR result
            OcrResult ocrResult = ocrTesseract.Read(ocrInput);
            string recognizedText = ocrResult.Text;

            // Output the recognized text to the console
            Console.WriteLine(recognizedText);
        }
    }
}
using IronOcr;
using System;

class Program
{
    static void Main()
    {
        IronTesseract ocrTesseract = new IronTesseract();

        // Load the receipt image
        using (OcrInput ocrInput = new OcrInput("ocr.png"))
        {
            // Read the OCR result
            OcrResult ocrResult = ocrTesseract.Read(ocrInput);
            string recognizedText = ocrResult.Text;

            // Output the recognized text to the console
            Console.WriteLine(recognizedText);
        }
    }
}
Imports IronOcr
Imports System

Friend Class Program
	Shared Sub Main()
		Dim ocrTesseract As New IronTesseract()

		' Load the receipt image
		Using ocrInput As New OcrInput("ocr.png")
			' Read the OCR result
			Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)
			Dim recognizedText As String = ocrResult.Text

			' Output the recognized text to the console
			Console.WriteLine(recognizedText)
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

IronOCR'nin C# kullanarak resimlerden metin okuyuşu hakkında daha fazla detay için Resimden Metin Okuma eğiticisine bakın.

Yukarıdaki kodun çıktısı:

- LOGO SHOP
- LOREM IPSUM
- DOLOR SIT AMET CONSECTETUR
- ADIPISCING ELIT
- 1 LOREM IPSUM $3.20
- 2 ORNARE MALESUADA $9.50
- 3 PORTA FERMENTUM $5.90
- 4 SODALES ARCU $6.00
- 5 ELEIFEND $9.00
- 6 SEM NISIMASSA $0.50
- 7 DUIS FAMES DIS $7.60
- 8 FACILISI RISUS $810
- TOTAL AMOUNT $49.80
- CASH $50.00

6. IronOCR Kullanarak Fiş Görüntüsünden Belirli Veri Çıkarımı

IronOCR, geliştiricilerin taranmış fişlerden vergi tutarları ve tüccar isimleri gibi önemli bilgileri aldığını sağlar.

Fiş görüntüsünden toplam tutar değerinin çıkarıldığı bir örnek burada gösterilmiştir:

using IronOcr;
using System;

class Program
{
    static void Main()
    {
        IronTesseract ocrTesseract = new IronTesseract();

        // Set the language for OCR
        ocrTesseract.Language = OcrLanguage.English;

        // Load the receipt image
        using (OcrInput ocrInput = new OcrInput("ocr.png"))
        {
            // Optimize the input image for OCR
            ocrInput.DeNoise(true);
            ocrInput.Contrast();
            ocrInput.EnhanceResolution();
            ocrInput.ToGrayScale();

            OcrResult ocrResult = ocrTesseract.Read(ocrInput);

            // Search for the total amount in the OCR result
            var totalAmount = ocrResult.Text.Contains("Total:") ? ocrResult.Text.Split("Total:")[1].Split("\n")[0] : "";
            Console.WriteLine("Total Amount: " + totalAmount);
        }
    }
}
using IronOcr;
using System;

class Program
{
    static void Main()
    {
        IronTesseract ocrTesseract = new IronTesseract();

        // Set the language for OCR
        ocrTesseract.Language = OcrLanguage.English;

        // Load the receipt image
        using (OcrInput ocrInput = new OcrInput("ocr.png"))
        {
            // Optimize the input image for OCR
            ocrInput.DeNoise(true);
            ocrInput.Contrast();
            ocrInput.EnhanceResolution();
            ocrInput.ToGrayScale();

            OcrResult ocrResult = ocrTesseract.Read(ocrInput);

            // Search for the total amount in the OCR result
            var totalAmount = ocrResult.Text.Contains("Total:") ? ocrResult.Text.Split("Total:")[1].Split("\n")[0] : "";
            Console.WriteLine("Total Amount: " + totalAmount);
        }
    }
}
Imports Microsoft.VisualBasic
Imports IronOcr
Imports System

Friend Class Program
	Shared Sub Main()
		Dim ocrTesseract As New IronTesseract()

		' Set the language for OCR
		ocrTesseract.Language = OcrLanguage.English

		' Load the receipt image
		Using ocrInput As New OcrInput("ocr.png")
			' Optimize the input image for OCR
			ocrInput.DeNoise(True)
			ocrInput.Contrast()
			ocrInput.EnhanceResolution()
			ocrInput.ToGrayScale()

			Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)

			' Search for the total amount in the OCR result
			Dim totalAmount = If(ocrResult.Text.Contains("Total:"), ocrResult.Text.Split("Total:")(1).Split(vbLf)(0), "")
			Console.WriteLine("Total Amount: " & totalAmount)
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

OcrInput sınıfı tarafından sağlanan çoklu ayarlar sayesinde, OCR sürecinde daha iyi doğruluk için giriş görüntüsünü optimize etmek mümkündür.

Giriş

Fişlerden belirli verilerin çıkarılmasını göstermek için kullanılan giriş görüntüsü

Çıktı

- Total 16.5

7. Fişlerde Barkodları Okuyun

IronOCR, fişlerdeki metnin yanı sıra barkodları okumak için kullanılabilir. Fişlerdeki barkodları okumak için, BarcodeReader sınıfını ReadBarCodes yöntemi ile birlikte kullanmanız gerekecek.

Barkodları nasıl okuyacağınıza dair bir örnek işte burada:

using IronOcr;
using System;

class Program
{
    static void Main()
    {
        var ocrTesseract = new IronTesseract();
        ocrTesseract.Configuration.ReadBarCodes = true;

        // Load the receipt image with a barcode
        using (var ocrInput = new OcrInput("b.png"))
        {
            OcrResult ocrResult = ocrTesseract.Read(ocrInput);

            // Output the barcode values to the console
            foreach (var barcode in ocrResult.Barcodes)
            {
                Console.WriteLine(barcode.Value);
            }
        }
    }
}
using IronOcr;
using System;

class Program
{
    static void Main()
    {
        var ocrTesseract = new IronTesseract();
        ocrTesseract.Configuration.ReadBarCodes = true;

        // Load the receipt image with a barcode
        using (var ocrInput = new OcrInput("b.png"))
        {
            OcrResult ocrResult = ocrTesseract.Read(ocrInput);

            // Output the barcode values to the console
            foreach (var barcode in ocrResult.Barcodes)
            {
                Console.WriteLine(barcode.Value);
            }
        }
    }
}
Imports IronOcr
Imports System

Friend Class Program
	Shared Sub Main()
		Dim ocrTesseract = New IronTesseract()
		ocrTesseract.Configuration.ReadBarCodes = True

		' Load the receipt image with a barcode
		Using ocrInput As New OcrInput("b.png")
			Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)

			' Output the barcode values to the console
			For Each barcode In ocrResult.Barcodes
				Console.WriteLine(barcode.Value)
			Next barcode
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

Giriş Görselleği

Barkod Okuma İçin Giriş

Çıktı Metni

Barkod görüntüsü işleminin sonucu

8. Sonuç

Yukarıdaki makale, IronOCR'yi C# projenizde kurma ve kullanma sürecini, örnek kod parçacıkları ile birlikte açıklamaktadır.

resimlerden metin okuma eğiticisini okuyunuz.

IronOCR, belgeleri ve görselleri manipüle etmek için beş farklı .NET kütüphanesi içeren Iron Suite'in bir parçasıdır. Tüm Iron Suite'i yalnızca iki IronOCR lisansı fiyatına satın alabilirsiniz.

Üretim uygulamalarınızda IronOCR'yi ücretsiz deneme ile deneyin.

Sıkça Sorulan Sorular

IronOCR'u C#'ta bir makbuz resmi üzerinde OCR gerçekleştirmek için nasıl kullanabilirim?

Bir makbuz resmi üzerinde OCR gerçekleştirmek için IronOCR'u, OcrInput sınıfına görüntüyü yükleyerek ve itemize edilmiş listeler ve toplam miktarlar gibi metin verilerini çıkarmak için Read yöntemini kullanarak kullanabilirsiniz.

Fatura işleme açısından IronOCR'u Tesseract'a göre daha avantajlı yapan nedir?

IronOCR, artırılmış doğruluk, 125'ten fazla dile destek ve otomatik metin yönü algılama ve derin öğrenme yetenekleri gibi özellikler sunar. Ayrıca, NuGet Paket Yöneticisi'ni kullanarak C# projeleriyle daha kolay entegre edilir.

IronOCR'u bir Visual Studio projesine nasıl entegre ederim?

IronOCR'u bir Visual Studio projesine entegre etmek için NuGet Paket Yöneticisi'ni kullanın. Araçlar > NuGet Paket Yöneticisi > Paket Yöneticisi Konsolu'na gidin, ardından projeye kütüphaneyi eklemek için Install-Package IronOcr komutunu çalıştırın.

IronOCR, makbuz OCR'de birden fazla dili ele alabilir mi?

Evet, IronOCR birden fazla dili ele alabilir, 125'ten fazla küresel dili destekler ve çok dilli metin içeren makbuzları işlemek için idealdir.

IronOCR, makbuzlardaki metin tanıma doğruluğunu nasıl artırır?

IronOCR, derin öğrenme, otomatik metin yönü algılama ve daha iyi OCR sonuçları için OcrInput sınıfı kullanarak görüntüleri optimize etme yeteneği gibi özelliklerle metin tanıma doğruluğunu artırır.

IronOCR, makbuzlardan itemize edilmiş listeleri çıkarabilir mi?

Evet, IronOCR, OCR gerçekleştirdikten sonra metin verilerini işleyerek ve kalıp eşleme ile satır öğelerini tanımlayarak makbuzlardan itemize edilmiş listeleri çıkarmak için kullanılabilir.

IronOCR, makbuzlardaki barkod okuma işlemini nasıl ele alır?

IronOCR, makbuzlarda bulunan barkodları taramak ve çözmek için BarcodeReader sınıfı ve ReadBarCodes yöntemini kullanarak barkod okuma işlemini gerçekleştirir.

IronOCR, makbuz OCR için hangi dosya formatlarını işleyebilir?

IronOCR, PNG, JPG, TIFF ve PDF gibi çeşitli dosya formatlarını makbuz OCR için işleyebilir ve farklı giriş türleri için çok yönlüdür.

C#'ta fatura işlemeye yönelik IronOCR'un kurulumu hangi adımlardan oluşur?

Fatura işleme için IronOCR'un kurulumu, kütüphaneyi NuGet aracılığıyla yüklemeyi, makbuz resmi ile OcrInput'u yapılandırmayı ve metin verilerini çıkarmak için Read yöntemini kullanmayı içerir. Ayrıca kütüphanenin özelliklerini doğruluk artırmak için kullanarak toplamlar gibi belirli verileri çıkarabilirsiniz.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku

Iron Destek Ekibi

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