C# Eğitiminde Faturadan Metin Nasıl Alınır
Tesseract'ta Makbuz OCR Nasıl Yapılır
1. IronOCR, Optik Karakter Tanıma API'si
IronOCR, resimlerden metin verilerini fatura OCR dahil olmak üzere bilgi çıkartımı için kullanan bir OCR kutuphanesidir. Tesseract OCR motoru üzerine inşa edilmiştir ve bugüne kadar makbuz tanıması için mevcut en doğru OCR motorlarından biri olarak kabul edilir. IronOCR, farklı belge türlerinden anahtar bilgileri okuyabilir, örneğin PNG, JPG, TIFF, JSON ve PDF formatlarını kapsar ve birden çok dilde metin tanıyabilir.
IronOCR'un makbuz OCR için özellikle kullanışlı kılan kilit özelliklerinden biri, metin yönlendirmesini otomatik olarak algılama yeteneğidir, bu yetenek, resmin döndürülmüş veya eğik olsa bile çalışır. Bu, makbuz yüklemelerinde ve veri çıkarımında doğru metin tanıma için gereklidir, çünkü makbuzlar genellikle çok fazla bilgi içerir ve katlanabilir veya buruşabilir, bu da metnin eğilmesine neden olabilir.
2. IronOCR Özellikleri
- C# OCR, resimlerden, taranmış belgelerden ve PDF'lerden metinleri tarayıp tanımak için Derin Öğrenme kullanır.
- .NET OCR, 125'ten fazla global dili destekler.
- IronOCR, PNG, JPG, TIFF ve PDF gibi birçok dosya formatından metni okuyabilir.
- Metin, yapılandırılmış veriler, JSON çıktısı veya aranabilir PDF'ler ekstrakte edilen bilgilerden üretilebilir.
- IronOCR,.NET sürümleri 5, 6 ve 7'yi (Core, Framework ve Standard) destekler.
- IronOCR, girdiyi metin bölgelerine dayalı olarak farklı resimlere ayırır. Metin öğelerini içeren alanları belirlemek için Bilgisayarla Görme kullanır.
3. Visual Studio'da Yeni 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 kutusundaki yolu seçin. Ardından Oluştur düğmesine tıklayın. Aşağıdaki ekran görüntüsünde gösterildiği gibi gerekli .NET Framework'ü seçin:

Konsol Uygulaması için proje yapısı şimdi oluşturulacaktır. Tamamlandıktan sonra, kaynak kodu yazıp çalıştırabileceğiniz Program.cs dosyasını açacaktır.

4. IronOCR Yükleme
Visual Studio'da, IronOCR'u C# projenize kolayca entegre edebilirsiniz. IronOCR, bir C# .NET projesi ile entegre etmek için birden fazla yol sunar. Burada, bir tanesini tartışacağız: IronOCR'u NuGet Paket Yöneticisi kullanarak kurma.
Visual Studio'da Araçlar > NuGet Paket Yöneticisi > Paket Yöneticisi Konsolu bölümüne gidin

Visual Studio'nun penceresinin altında yeni bir konsol belirecektir. Aşağıdaki komutu konsola yazın ve enter tuşuna basın.
Install-Package IronOcr
IronOCR sadece birkaç saniye içinde yüklenecektir.
5. IronOCR Kullanarak Makbuzlardan Veri Çıkartılması
IronOCR, makbuzlardan ayrıntılı verileri çıkarmak ve erişmek için kullanılabilen güçlü bir OCR kütüphanesidir. IronOCR ile bir makbuzun resmini makinece okunabilir metne çevirebilir ve bu metni veri mahremiyetinden ödün vermeden kolayca analiz edebilir ve işleyebilirsiniz.
IronOCR kullanarak bir makbuzdan metin çıkarmanın bir ö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
IronOCR'un C# kullanarak görüntülerden metin nasıl okuduğuna dair daha fazla ayrıntı için Görüntüden Metin Okuma eğitimi'ne başvurun.
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 Makbuz Görüntüsünden Belirli Verilerin Çıkarılması
IronOCR, geliştiricilerin taranmış makbuzlardan vergi tutarları ve satıcı isimleri gibi önemli bilgileri almasına olanak tanır.
Makbuz görüntüsünden toplam tutar değerini çıkarmayı gösteren bir örnek:
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
Çok sayıda ayar sağlayan OcrInput sınıfı sayesinde, OCR sürecinde daha iyi doğruluk için giriş görüntüsünü optimize etmek mümkündür.
Girdi

Çıktı
- Total 16.5
7. Makbuzlar Üzerinde Barkod Okuma
IronOCR, makbuzlar üzerinde metin kadar barkod da okumak için kullanılabilir. Makbuzlardaki 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:
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
Girdi Görüntüsü

Çıktı Metni

8. Sonuç
Yukarıdaki makale, IronOCR'u bir C# projesinde kurup kullanarak makbuzlardan veri çıkarmanın sürecini, sağlanan örnek kod parçacıkları ile birlikte açıklamaktadır.
Lütfen görüntülerden metin okuma hakkındaki eğitimi okuyun.
IronOCR, belgeler ve görüntüler üzerinde işlem yapmak için beş farklı .NET kütüphanesi içeren Iron Suite'in bir parçasıdır. Tüm Iron Suite'i sadece iki IronOCR lisansı fiyatına satın alabilirsiniz.
IronOCR'u üretim uygulamalarınızda ücretsiz deneyerek deneyin.
Sıkça Sorulan Sorular
IronOCR ile C#'ta makbuz görüntüsü üzerinde OCR işlemi nasıl yapabilirim?
IronOCR'u, görüntüyü OcrInput sınıfına yükleyip, Read metodunu çağırarak maddeli listeler ve toplam miktarlar gibi metin verileri çıkarmak için kullanabilirsiniz.
IronOCR'u fatura işleme için Tesseract'a tercih etmenin avantajları nelerdir?
IronOCR, gelişmiş doğruluk sunar, 125'ten fazla dil desteği sağlar ve otomatik metin yönlendirme algılama ve derin öğrenme yetenekleri gibi özellikler içerir. Ayrıca, NuGet Paket Yöneticisi kullanarak C# projelerine daha kolay entegre edilebilir.
IronOCR'yi Visual Studio projesine nasıl entegre ederim?
IronOCR'yi 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 kütüphaneyi projenize eklemek için Install-Package IronOcr komutunu çalıştırın.
IronOCR, fiş OCR'sinde birden fazla dili işleyebilir mi?
Evet, IronOCR birden fazla dili işleyebilir ve 125'ten fazla küresel dili destekler, bu da onu çok dilli metin içeren fişlerin işlenmesi için ideal hale getirir.
IronOCR, fişlerdeki metin tanıma doğruluğunu nasıl artırır?
IronOCR, metin tanıma doğruluğunu derin öğrenme, otomatik metin yönü algılama gibi özellikler ve OcrInput sınıfını kullanarak daha iyi OCR sonuçları için görüntüleri optimize etme yeteneğiyle artırır.
IronOCR kullanarak fişlerden madde listeleri çıkarmak mümkün mü?
Evet, IronOCR, metin verilerini işleyerek ve OCR gerçekleştirdikten sonra desen eşleştirme yoluyla satır öğelerini tanıyarak fişlerden madde listeleri çıkarmak için kullanılabilir.
IronOCR, fişlerdeki barkod okuma işlemini nasıl gerçekleştirir?
IronOCR, fişlerde bulunan barkodları taramak ve kod çözmek için BarcodeReader sınıfı ve ReadBarCodes yöntemini kullanarak barkod okuma işlemini gerçekleştirir.
IronOCR, fiş OCR için hangi dosya formatlarını işleyebilir?
IronOCR, PNG, JPG, TIFF ve PDF gibi çeşitli dosya formatlarını fiş OCR için işleyebilir ve bu da onu farklı giriş türleri için çok yönlü kılar.
C#'da fatura işleme için IronOCR kurulumu hangi adımları içerir?
IronOCR'yi fatura işlemesi için kurmak, kütüphaneyi NuGet üzerinden kurmayı, OcrInput'u fiş görüntüsüyle yapılandırmayı ve metin verilerini çıkarmak için Read yöntemini kullanmayı içerir. Ayrıca, doğruluğu artırmak ve toplamlar gibi belirli verileri çıkarmak için kütüphanenin özelliklerini kullanabilirsiniz.



