Zum Fußzeileninhalt springen
VERWENDUNG VON IRONOCR

OCR-Supermarktkassenbons in C# (Entwickler-Tutorial)

Belege und Automatisierung

Belege sind in der heutigen schnelllebigen Welt unerlässlich. Egal, ob Sie Lebensmittel einkaufen oder in einem Restaurant essen gehen, eine Quittung hilft Ihnen, den ausgegebenen Betrag nachzuvollziehen und kann bei der Budgetplanung helfen. In der Zwischenzeit können Lebensmittelgeschäfte Bon-Scanner verwenden, um Verkaufsdaten zu analysieren, die ihnen bei der Prognose der Nachfrage helfen.

Quittungen können jedoch schwer zu lesen sein, und es kann unklar sein, wie Summen berechnet werden. Die manuelle Dateneingabe von Quittungen zu Budgetierungszwecken ist mühsam und fehleranfällig, insbesondere wenn es sich um viele Posten handelt. Wenn Sie eine Quittung verlieren, kann es plötzlich unklar werden, warum Sie Ihr monatliches Budget überschritten haben.

Um dieses Problem zu lösen, haben Budgetierungs- und Finanzanwendungen die OCR (Optical Character Recognition)-Technologie übernommen. Durch das Scannen von Quittungen und deren Umwandlung in ein digitales Format minimiert OCR menschliche Fehler, automatisiert die Dateneingabe, verfolgt Ausgaben und bietet Einblicke in das Kaufverhalten.

Die OCR-Technologie arbeitet mit maschinellen Lernalgorithmen, um Text und Zahlen aus Bildern zu identifizieren und zu extrahieren. OCR-Systeme sind jedoch nicht perfekt, vor allem wenn es sich um Bilder handelt, die durch Rauschen wie Unschärfe oder Flecken beeinträchtigt sind, was zu einer falschen Datenextraktion führen kann. Daher ist die Auswahl einer zuverlässigen OCR-Bibliothek, die Leseverfahren effizient verarbeiten und optimieren kann, von entscheidender Bedeutung.

Warum IronOCR?

IronOCR is a C# library based on a customized version of the Tesseract OCR-Engine basiert. Hier sind einige ihrer wichtigsten Funktionen:

  1. Kompatibilität: Vollständig kompatibel mit .NET-Plattformen, einschließlich .NET 8, 7, 6, 5 und Framework 4.6.2 aufwärts. Es werden Windows, macOS, Azure und Linux unterstützt.
  2. Flexibilität und Skalierbarkeit: Verarbeitet verschiedene Eingabeformate wie jpg, png und gif. Sie lässt sich nahtlos in die nativen "System.Drawing"-Objekte in C# integrieren.
  3. Benutzerfreundlichkeit und Support: Gut dokumentiert, mit einer robusten API und 24/5-Support verfügbar.
  4. Mehrsprachigkeit: Unterstützt bis zu 125 Sprachen, ideal für internationale Dokumente. Sie zeichnet sich durch die Erkennung von Produktnamen und Preisen aus, die für die Bearbeitung von Belegen unerlässlich sind.

Einführung von OCR für Quittungen

Lizenzschlüssel

Bevor Sie IronOCR verwenden, müssen Sie einen Lizenzschlüssel erwerben. Eine kostenlose Testversion ist hier erhältlich.

// Replace the license key variable with the trial key you obtained
IronOcr.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
// Replace the license key variable with the trial key you obtained
IronOcr.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
' Replace the license key variable with the trial key you obtained
IronOcr.License.LicenseKey = "REPLACE-WITH-YOUR-KEY"
$vbLabelText   $csharpLabel

Beispiel: Lesen einer Supermarktquittung

Sehen wir uns an, wie IronOCR in einer App verwendet werden kann, um Supermarktquittungen mit einem Smartphone zu scannen und Daten wie Produktnamen und Preise zu extrahieren, um Punkte auf Basis der Gesamteinkäufe zu vergeben.

Eingabebild

Beispiel einer Supermarktquittung

C#-Code-Implementierung

using IronOcr;

class ReceiptScanner
{
    static void Main()
    {
        // Set the license key for IronOCR
        IronOcr.License.LicenseKey = "YOUR-KEY";

        // Instantiate OCR engine
        var ocr = new IronTesseract();

        using var inputPhoto = new OcrInput();
        inputPhoto.LoadImage("supermarketexample.jpg");

        // Perform OCR on the loaded image
        OcrResult result = ocr.Read(inputPhoto);

        // Output the text extracted from the receipt
        string text = result.Text;
        Console.WriteLine(text);
    }
}
using IronOcr;

class ReceiptScanner
{
    static void Main()
    {
        // Set the license key for IronOCR
        IronOcr.License.LicenseKey = "YOUR-KEY";

        // Instantiate OCR engine
        var ocr = new IronTesseract();

        using var inputPhoto = new OcrInput();
        inputPhoto.LoadImage("supermarketexample.jpg");

        // Perform OCR on the loaded image
        OcrResult result = ocr.Read(inputPhoto);

        // Output the text extracted from the receipt
        string text = result.Text;
        Console.WriteLine(text);
    }
}
Imports IronOcr

Friend Class ReceiptScanner
	Shared Sub Main()
		' Set the license key for IronOCR
		IronOcr.License.LicenseKey = "YOUR-KEY"

		' Instantiate OCR engine
		Dim ocr = New IronTesseract()

		Dim inputPhoto = New OcrInput()
		inputPhoto.LoadImage("supermarketexample.jpg")

		' Perform OCR on the loaded image
		Dim result As OcrResult = ocr.Read(inputPhoto)

		' Output the text extracted from the receipt
		Dim text As String = result.Text
		Console.WriteLine(text)
	End Sub
End Class
$vbLabelText   $csharpLabel
  1. Importieren Sie die IronOcr-Bibliothek.
  2. Instanziieren Sie die OCR-Engine (IronTesseract).
  3. Erstellen Sie einen neuen OcrInput, um das Bild der Quittung zu laden.
  4. Verwenden Sie die Methode Lesen von IronTesseract, um Text zu extrahieren.
  5. Geben Sie die Ergebnisse auf der Konsole aus.

Debugging und Vertrauenstests

Um die Konsistenz zu gewährleisten, überprüfen Sie den Konfidenzgrad der extrahierten Daten, der ihre Genauigkeit bestimmt.

OcrResult result = ocr.Read(inputPhoto);
string text = result.Text;
Console.WriteLine(text);
Console.WriteLine($"Confidence: {result.Confidence}");
OcrResult result = ocr.Read(inputPhoto);
string text = result.Text;
Console.WriteLine(text);
Console.WriteLine($"Confidence: {result.Confidence}");
Dim result As OcrResult = ocr.Read(inputPhoto)
Dim text As String = result.Text
Console.WriteLine(text)
Console.WriteLine($"Confidence: {result.Confidence}")
$vbLabelText   $csharpLabel

Die Konfidenz-Eigenschaft bietet ein statistisches Genauigkeitsmaß. Sie reicht von 0 (geringes Vertrauen) bis 1 (hohes Vertrauen). Passen Sie Ihre Datenverarbeitungsstrategien auf der Grundlage dieser Vertrauensstufen an, um die Zuverlässigkeit zu gewährleisten.

Rauschunterdrückung und Filterung

Vor der Verarbeitung von Bildern sollten Sie diese Methoden anwenden, um Bilder für bessere OCR-Ergebnisse zu reinigen und vorzubereiten:

inputPhoto.DeNoise();      // Removes noise from the image
inputPhoto.ToGrayScale();  // Converts image to grayscale
inputPhoto.DeNoise();      // Removes noise from the image
inputPhoto.ToGrayScale();  // Converts image to grayscale
inputPhoto.DeNoise() ' Removes noise from the image
inputPhoto.ToGrayScale() ' Converts image to grayscale
$vbLabelText   $csharpLabel

Diese Vorverarbeitungsschritte tragen dazu bei, die Genauigkeit der Datenextraktion zu erhöhen.

Abschluss

IronOCR

Die OCR-Technologie für Quittungen ist ein Vorteil für Unternehmen und Privatpersonen, da sie bei der Budgetierung hilft, Betrug durch die Überprüfung von Transaktionsdetails verhindert und die Datenerfassung automatisiert. IronOCR zeichnet sich durch seine Genauigkeit, Geschwindigkeit und einfache Integration in bestehende Plattformen aus und ist damit eine ausgezeichnete Wahl für Entwickler, die Lösungen zum Scannen von Belegen implementieren möchten.

Probieren Sie die Testlizenz von IronOCR aus, um seine Möglichkeiten zu erkunden.

Häufig gestellte Fragen

Wie kann OCR-Technologie zur Automatisierung der Verarbeitung von Supermarktkassenbons genutzt werden?

Die OCR-Technologie kann die Verarbeitung von Supermarktkassenbons automatisieren, indem gescannte Belege in digitale Daten umgewandelt werden. Mit IronOCR können Quittungen gelesen und Text automatisch extrahiert werden, wodurch die manuelle Dateneingabe reduziert und menschliche Fehler minimiert werden.

Welche Vorteile bietet IronOCR bei der Verarbeitung von Supermarktkassenbons?

IronOCR bietet mehrere Vorteile bei der Verarbeitung von Supermarktkassenbons, einschließlich plattformübergreifender Kompatibilität, Unterstützung für mehrere Bildformate, einer robusten API für einfache Integration und der Fähigkeit, bis zu 125 Sprachen zu verarbeiten, wodurch es ideal für internationale Belege ist.

Wie integriert man IronOCR in eine C#-Anwendung, um Supermarktkassenbons zu lesen?

Um IronOCR in eine C#-Anwendung zu integrieren, müssen Sie einen Lizenzschlüssel erhalten, die IronOcr-Bibliothek importieren und die IronTesseract-Engine verwenden, um Text aus Bildern von Supermarktkassenbons zu lesen und zu extrahieren.

Welche Vorverarbeitungstechniken verbessern die OCR-Genauigkeit beim Scannen von Quittungen?

IronOCR bietet Vorverarbeitungstechniken wie DeNoise und ToGrayScale, um die OCR-Genauigkeit zu verbessern. Diese Techniken helfen, Bildstörungen zu entfernen und Bilder in Graustufen umzuwandeln, wodurch die Textextraktion aus Quittungen verbessert wird.

Warum ist Zuversichtstests in der OCR wichtig und wie wird sie angewendet?

Zuversichtstests in IronOCR sind wichtig, weil sie die Genauigkeit der extrahierten Daten messen, mit Werten von 0 (niedrig) bis 1 (hoch). Sie helfen Benutzern, die Zuverlässigkeit der OCR-Ergebnisse zu bewerten und Entscheidungen zur Datenverarbeitung zu treffen.

Kann IronOCR mehrsprachige Supermarktkassenbons verarbeiten?

Ja, IronOCR unterstützt die OCR-Verarbeitung in bis zu 125 Sprachen und ist somit in der Lage, mehrsprachige Supermarktkassenbons effizient zu bearbeiten.

Ist eine Testversion für Entwickler, die an IronOCR interessiert sind, verfügbar?

Ja, eine kostenlose Testversion von IronOCR steht Entwicklern zur Verfügung, damit sie seine Funktionen und Möglichkeiten erkunden können, bevor sie einen Kauf tätigen.

Welche Plattformen werden von IronOCR für die Rechnungserkennung unterstützt?

IronOCR ist kompatibel mit .NET-Plattformen, einschließlich .NET 8, 7, 6, 5 und Framework 4.6.2 und höher, und unterstützt den Betrieb auf Windows, macOS, Azure und Linux.

Warum ist IronOCR geeignet, um das Scannen von Belegen in Anwendungen zu integrieren?

IronOCR ist aufgrund seiner hohen Genauigkeit, Benutzerfreundlichkeit, plattformübergreifenden Unterstützung und seiner Fähigkeit, verschiedene Eingabeformate und Sprachen nahtlos zu verarbeiten, geeignet, um das Scannen von Belegen in Anwendungen zu integrieren.

Kannaopat Udonpant
Software Ingenieur
Bevor er Software-Ingenieur wurde, absolvierte Kannapat ein PhD in Umweltressourcen an der Hokkaido University in Japan. Während seines Studiums wurde Kannapat auch Mitglied des Vehicle Robotics Laboratory, das Teil der Fakultät für Bioproduktionstechnik ist. Im Jahr 2022 nutzte er seine C#-Kenntnisse, um dem Engineering-Team von Iron Software ...
Weiterlesen