
C# Eğitiminde Faturadan Metin Nasıl Alınır
Fiş OCR Nasıl Yapılır?
- Tesseract ile Fiş OCR için C# kütüphanesini kurun
- Makbuz üzerinde OCR gerçekleştirmek için zengin özellikli C# kütüphanesini keşfedin
- Tesseract ile fişten veri çıkarın
- Çıkarılmış metin sonucunda belirli veriler arayın
- 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:

"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.

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 pencerenizin alt kısmında yeni bir konsol belirecek. Konsola aşağıdaki komutu yazın ve enter tuşuna basın.
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);
}
}
}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 ClassIronOCR'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);
}
}
}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 ClassOcrInput 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ş

Çı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);
}
}
}
}Imports IronOcr
Imports System
Class Program
Shared Sub Main()
Dim ocrTesseract = New IronTesseract()
ocrTesseract.Configuration.ReadBarCodes = True
' Load the receipt image with a barcode
Using ocrInput = 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
End Using
End Sub
End ClassGiriş Görselleği

Çıktı Metni

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.

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ılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.
İlgili Makaleler

