Mit IronBarcode die Lesegeschwindigkeit in C#35; anpassen

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronBarcode bietet vier Optionen für die Lesegeschwindigkeit (Schneller, Gleichmäßig, Detailliert, ExtremeDetail), mit denen Sie den Kompromiss zwischen Verarbeitungsgeschwindigkeit und Genauigkeit beim Lesen von Barcodes in C# steuern können, wobei Gleichmäßig für die meisten Anwendungen der empfohlene Ausgangspunkt ist.

Einführung

Beim Lesen großer Mengen von Barcodes ist die Genauigkeit von entscheidender Bedeutung, aber auch die Ressourcenzuweisung und die Verarbeitungseffizienz sind wichtige Aspekte. Die Qualität der eingegebenen Bilder bestimmt, wie ein Barcode-Lesegerät sie verarbeiten sollte - ob die Vorverarbeitung für klare Bilder übersprungen oder ressourcenintensivere Optionen verwendet werden, um die Genauigkeit für beeinträchtigte Barcodes zu verbessern.

IronBarcode bietet die Flexibilität, die Verarbeitungsgeschwindigkeit und den Genauigkeitsgrad zu wählen, so dass Sie jeden Aspekt des Barcode-Leseprozesses steuern können. Sie können Entscheidungen auf der Grundlage Ihrer Eingabebilder und der verfügbaren Ressourcen treffen. Für fortgeschrittene Szenarien zum Lesen von Strichcodes lesen Sie bitte unser umfassendes Tutorial zum Lesen von Strichcodes, das verschiedene Formate und Techniken abdeckt.

Dieser Artikel enthält Richtlinien für die Auswahl der optimalen Lesegeschwindigkeit für verschiedene Szenarien. Anhand von QR-Code-Beispielen zeigen wir, wie sich die Änderung der Lesegeschwindigkeit auf die Ergebnisse auswirkt. Wenn Sie speziell mit QR-Codes arbeiten, sehen Sie sich unser C# QR Code Generator Tutorial an, um Testbeispiele zu erstellen.

Schnellstart: Ein Barcode mit ausgeglichener Geschwindigkeit lesen

Mit den BarcodeReaderOptions von IronBarcode können Sie die Geschwindigkeit für Ihren Scan sofort einstellen. Dieses Beispiel zeigt, wie man mit der Einstellung Balanced schnell und zuverlässig Barcodes lesen kann.

Nuget IconLegen Sie jetzt mit NuGet los, um PDFs zu erstellen:

  1. Installieren Sie IronBarcode mit dem NuGet-Paketmanager.

    PM > Install-Package BarCode

  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    var results = IronBarCode.BarcodeReader.Read("path/to/image.png", new IronBarCode.BarcodeReaderOptions { Speed = IronBarCode.ReadingSpeed.Balanced });
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute mit der Nutzung von IronBarcode in Ihrem Projekt – mit einer kostenlosen Testversion.
    arrow pointer


Was sind die verschiedenen Optionen für die Lesegeschwindigkeit?

IronBarcode bietet vier Lesegeschwindigkeit-Optionen: Schneller, Balanced, Detailed und ExtremeDetail. Wir werden jede Option anhand eines Beispielsatzes untersuchen, der größtenteils degradierte Barcode-Bilder mit einigen klaren Bildern enthält, um die Fähigkeiten der Bibliothek zu demonstrieren. Eine vollständige Liste der unterstützten Formate finden Sie auf unserer Seite Unterstützte Barcode-Formate.

Wir werden eine .NET-Benchmark-Bibliothek verwenden, um die Verarbeitungszeit und den Speicherverbrauch zu messen, um zu zeigen, wie jede Option im Vergleich abschneidet, und um ideale Szenarien für jede Lesegeschwindigkeit zu identifizieren. Wir demonstrieren Benchmarking-Code und eine einfache Methode zum Zählen erfolgreich gelesener degradierter Barcodes. Weitere Einzelheiten zur Konfiguration der Lesegeräteoptionen finden Sie in unserem Beispiel für Barcode-Leser-Einstellungen.

Wann sollte ich die Option "Schnellere Geschwindigkeit" verwenden?

Die Option Schneller bietet das schnellste Barcode-Lesen mit minimalen Ressourcen, verringert aber die Genauigkeit. Dieser Prozess überspringt die Bildvorverarbeitung und funktioniert am besten, wenn die Eingabebilder bereits scharf und klar sind.

In diesem Beispiel wird die Eigenschaft Speed auf ReadingSpeed.Faster gesetzt, ein Verzeichnis mit Barcodes importiert und die gefundenen Barcodes mit ihren Werten, Typen und der Anzahl pro Bild ausgegeben. Um das Lesen von Barcodes aus verschiedenen Bildformaten besser zu verstehen, lesen Sie unseren Leitfaden zum Lesen von Barcodes aus Bildern.

:path=/static-assets/barcode/content-code-examples/how-to/reading-speed-option-faster.cs
using IronBarCode;
using System;
using System.Diagnostics;
using System.IO;
using System.Linq;

var optionsFaster = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Faster
};

// Directory containing PDF files
string folderPath = @"YOUR_FILE_PATH";

// Get all PDF files in the directory
var pdfFiles = Directory.GetFiles(folderPath, "*.jpg");

int countFaster = 0;
var stopwatch = Stopwatch.StartNew();
foreach (var file in pdfFiles)
{
    // Read the barcode
    var results = BarcodeReader.Read(file, optionsFaster);

    if (results.Any())
    {
        Console.WriteLine($"Barcode(s) found in: {Path.GetFileName(file)}");
        foreach (var result in results)
        {
            Console.WriteLine($"  Value: {result.Value}, Type: {result.BarcodeType}");
            countFaster++;
        }
    }
    else
    {
        Console.WriteLine($"No barcode found in: {Path.GetFileName(file)}");
    }
}

stopwatch.Stop();

// Print number of images the barcode reader could decode
Console.WriteLine($"Faster could read = {countFaster} out of {pdfFiles.Length} in {stopwatch.ElapsedMilliseconds}ms");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Die Option Schneller erkannte 146 von 430 Barcode-Ergebnissen in 25 Sekunden und erreichte eine Genauigkeit von 33,95 %. Diese Methode ist zwar schnell, eignet sich aber nur für makellose Bildbedingungen. Wenn Sie mit mehreren BarCodes in einem einzigen Bild arbeiten, sollten Sie unseren Leitfaden zum Lesen mehrerer BarCodes für eine optimale Konfiguration beachten.

Warum ist Balanced die empfohlene Geschwindigkeitsoption?

Die Option Balanced bietet ein ausgewogenes Verhältnis zwischen Genauigkeit und Leseleistung. IronBarcode wendet eine leichte Bildverarbeitung an, um den Barcodebereich zu verdeutlichen, so dass er leichter zu erkennen und zu lesen ist. Diese Einstellung wird für die meisten modernen Bilder empfohlen, da eine leichte Bearbeitung in der Regel genaue Ergebnisse liefert.

Verwenden wir dieselben Bilder, um zu zeigen, wie Balanced die Ausgabeergebnisse beeinflusst. Für asynchrone Operationen lesen Sie bitte unseren Leitfaden zu async und multithreading mit IronBarcode.

:path=/static-assets/barcode/content-code-examples/how-to/reading-speed-option-balanced.cs
using IronBarCode;
using System;
using System.Diagnostics;
using System.IO;
using System.Linq;

var optionsFaster = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Balanced
};

// Directory containing PDF files
string folderPath = @"YOUR_FILE_PATH";

// Get all PDF files in the directory
var pdfFiles = Directory.GetFiles(folderPath, "*.jpg");

int countFaster = 0;
var stopwatch = Stopwatch.StartNew();
foreach (var file in pdfFiles)
{
    // Read the barcode
    var results = BarcodeReader.Read(file, optionsFaster);

    if (results.Any())
    {
        Console.WriteLine($"Barcode(s) found in: {Path.GetFileName(file)}");
        foreach (var result in results)
        {
            Console.WriteLine($"  Value: {result.Value}, Type: {result.BarcodeType}");
            countFaster++;
        }
    }
    else
    {
        Console.WriteLine($"No barcode found in: {Path.GetFileName(file)}");
    }
}

stopwatch.Stop();

// Print number of images the barcode reader could decode
Console.WriteLine($"Balanced could read = {countFaster} out of {pdfFiles.Length} in {stopwatch.ElapsedMilliseconds}ms");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Mit der Option Balanced wurden 237 von 430 Barcode-Ergebnissen in 43 Sekunden erkannt. Sie bietet 55,11 % Genauigkeit - eine deutliche Verbesserung gegenüber Faster - bei nur geringfügig höherem Zeitaufwand. Diese Option hält ein effizientes Gleichgewicht zwischen Speicherplatz und Geschwindigkeit aufrecht, was sie für die meisten Situationen ideal und zum empfohlenen Ausgangspunkt macht. Dieser ausgewogene Ansatz funktioniert besonders gut mit geeigneten Bildvorverarbeitungstechniken.

Wann benötige ich die Option "Detaillierte Geschwindigkeit"?

Wenn Bilder stark verschwommen oder verzerrt sind und Ausgewogen keine klaren Ergebnisse liefert, verwenden Sie die Option Detailliert. Sie wendet eine mittlere Vorverarbeitung an, um den Barcodebereich zu klären und digitales Rauschen für eine bessere Erkennung zu reduzieren. Für stark beeinträchtigte Bilder lesen Sie bitte unseren Leitfaden zur Bildkorrektur, der verschiedene Vorverarbeitungstechniken behandelt.

Wenden wir die Einstellung Detailliert an und beobachten wir die Auswirkungen auf die Ausgabe.

:path=/static-assets/barcode/content-code-examples/how-to/reading-speed-option-detailed.cs
using IronBarCode;
using System;
using System.Diagnostics;
using System.IO;
using System.Linq;

var optionsFaster = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Detailed
};

// Directory containing PDF files
string folderPath = @"YOUR_FILE_PATH";

// Get all PDF files in the directory
var pdfFiles = Directory.GetFiles(folderPath, "*.jpg");

int countFaster = 0;
var stopwatch = Stopwatch.StartNew();
foreach (var file in pdfFiles)
{
    // Read the barcode
    var results = BarcodeReader.Read(file, optionsFaster);

    if (results.Any())
    {
        Console.WriteLine($"Barcode(s) found in: {Path.GetFileName(file)}");
        foreach (var result in results)
        {
            Console.WriteLine($"  Value: {result.Value}, Type: {result.BarcodeType}");
            countFaster++;
        }
    }
    else
    {
        Console.WriteLine($"No barcode found in: {Path.GetFileName(file)}");
    }
}

stopwatch.Stop();

// Print number of images the barcode reader could decode
Console.WriteLine($"Detailed could read = {countFaster} out of {pdfFiles.Length} in {stopwatch.ElapsedMilliseconds}ms");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Mit der Option Detailliert wurden 237 von 430 Barcode-Ergebnissen in 5 Minuten und 30 Sekunden gefunden. Die Erfolgsquote von 55,11 % bei stark degradierten Barcodes beweist ihre Genauigkeit. Aufgrund der erheblich längeren Bearbeitungszeit sollte diese Option jedoch ausschließlich für minderwertige Barcode-Bilder verwendet werden. Wenn Sie mit unvollständigen Barcodes arbeiten, finden Sie in unserem Beispiel für die Behandlung unvollständiger Barcodes zusätzliche Strategien.

Welche Situationen erfordern extreme Detailgeschwindigkeit?

Mit der Einstellung ExtremeDetail werden Barcode-Bilder stark bearbeitet, was die Leseleistung erheblich verringert. Diese CPU-intensive Option eignet sich am besten für das Scannen mehrerer unklarer oder verschwommener Barcodes in einer Eingabedatei. Verwenden Sie sie als letzten Ausweg, wenn andere Optionen nicht zu den gewünschten Ergebnissen führen. Für hochvolumige Verarbeitungsszenarien sollten Sie das Lesen von Barcodes aus PDF-Dateien erkunden, die oft mehrere Barcodes pro Seite enthalten.

Wenden wir die Einstellung ExtremeDetail an, um ihre Wirkung zu beobachten.

:path=/static-assets/barcode/content-code-examples/how-to/reading-speed-option-extreme-detailed.cs
using IronBarCode;
using System;
using System.Diagnostics;
using System.IO;
using System.Linq;

var optionsFaster = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.ExtremeDetail
};

// Directory containing PDF files
string folderPath = @"YOUR_FILE_PATH";

// Get all PDF files in the directory
var pdfFiles = Directory.GetFiles(folderPath, "*.jpg");

int countFaster = 0;
var stopwatch = Stopwatch.StartNew();
foreach (var file in pdfFiles)
{
    // Read the barcode
    var results = BarcodeReader.Read(file, optionsFaster);

    if (results.Any())
    {
        Console.WriteLine($"Barcode(s) found in: {Path.GetFileName(file)}");
        foreach (var result in results)
        {
            Console.WriteLine($"  Value: {result.Value}, Type: {result.BarcodeType}");
            countFaster++;
        }
    }
    else
    {
        Console.WriteLine($"No barcode found in: {Path.GetFileName(file)}");
    }
}

stopwatch.Stop();

// Print number of images the barcode reader could decode
Console.WriteLine($"ExtremeDetail could read = {countFaster} out of {pdfFiles.Length} in {stopwatch.ElapsedMilliseconds}ms");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Die Option ExtremeDetail identifizierte 313 von 430 Barcode-Bildern in etwa 10 Minuten. Obwohl es bei stark degradierten Barcodes eine beeindruckende Genauigkeit von 72,79 % erreicht, ist es aufgrund seines hohen Ressourcenverbrauchs nur als letzte Möglichkeit geeignet. Ziehen Sie eine Vorverarbeitung der Bilder in Betracht, bevor Sie diese Option verwenden.

Wie lassen sich die verschiedenen Geschwindigkeiten vergleichen?

Modus BarCodes gefunden Mittlere Zeit Zeit pro Datei GC Druck Genauigkeitsgewinn
Schneller 147/430 (33,95 %) 25 Sekunden 0,058 s Hoch (Gen2: 177K) Grundlegendes
Balanciert 237/430 (55,11 %) 43 Sekunden 0,1 s Hoch (Gen2: 151K) +62,32 % gegenüber Schneller
Detailliert 237/430 (55,11 %) 5.50 Min 0,767 s Sehr hoch (Gen2: 297K) +0% gegenüber Balanced
Extrem detailliert 313/430 (72,79 %) 10,14 Min. 1,414 s Extrem (Gen2: 4.74M) +32,08 % gegenüber Detailliert

Wie wähle ich die richtige Geschwindigkeit für meine Anwendung?

Beginnen Sie auf der Grundlage der obigen Vergleiche mit der Einstellung Schneller und arbeiten Sie sich über Ausgewogen, Detailliert und ExtremDetailliert vor, um signifikante Unterschiede in der Ausgabe zu ermitteln. Für die meisten Szenarien reicht Balanced völlig aus. Verwenden Sie Detailed und ExtremeDetail nur für stark verzerrte Bilder.

Obwohl Detailed und ExtremeDetail eine mittlere und schwere Verarbeitung durchführen, ist es manchmal effizienter, den Prozess aufzuteilen und die Bildfilter vor dem Lesen des Barcodes manuell anzuwenden, anstatt einen einzigen Prozess zu verwenden. Weitere Informationen zur Vorverarbeitung von Bildern finden Sie in diesem Leitfaden.

Welche Geschwindigkeitseinstellung passt zu meinem Anwendungsfall?

Entscheidungsbaum für die Auswahl der Abtastgeschwindigkeit auf der Grundlage der Bildqualität, von Faster bis Detailed+ExtremeDetail options

Häufig gestellte Fragen

Welche vier Optionen gibt es für die Lesegeschwindigkeit von Barcodes?

IronBarcode bietet vier ReadingSpeed-Optionen an: Faster, Balanced, Detailed und ExtremeDetail. Jede Option bietet ein anderes Gleichgewicht zwischen Verarbeitungsgeschwindigkeit und Genauigkeit, wobei Balanced für die meisten Anwendungen der empfohlene Ausgangspunkt ist.

Wie kann ich die Lesegeschwindigkeit beim Scannen von Barcodes einstellen?

Sie können die Lesegeschwindigkeit mit der Klasse BarcodeReaderOptions in IronBarcode einstellen. Erstellen Sie einfach ein neues BarcodeReaderOptions-Objekt und setzen Sie die Speed-Eigenschaft auf den gewünschten ReadingSpeed-Wert (Faster, Balanced, Detailed oder ExtremeDetail) und übergeben Sie sie dann an die Read-Methode.

Welche Lesegeschwindigkeitsoption sollte ich für meine Anwendung verwenden?

IronBarcode empfiehlt, für die meisten Anwendungen mit der Geschwindigkeitseinstellung "Ausgeglichen" zu beginnen. Wenn Sie über qualitativ hochwertige, klare Barcodebilder verfügen, können Sie den Modus Schneller verwenden. Bei schlechten oder minderwertigen Bildern sollten Sie die Modi Detailed oder ExtremeDetail verwenden, um eine bessere Genauigkeit zu erzielen.

Was ist der Kompromiss zwischen den verschiedenen Optionen für die Lesegeschwindigkeit?

Bei den Lesegeschwindigkeiten von IronBarcode besteht ein Kompromiss zwischen Verarbeitungsgeschwindigkeit und Genauigkeit. Der schnellere Modus verarbeitet Bilder schnell, kann aber Barcodes in Bildern von schlechter Qualität übersehen. Der ExtremeDetail-Modus bietet die höchste Genauigkeit, erfordert aber mehr Verarbeitungszeit und Speicherressourcen.

Kann ich mehrere BarCode-Formate mit unterschiedlichen Geschwindigkeitseinstellungen lesen?

Ja, IronBarcode unterstützt das Lesen verschiedener Barcodeformate einschließlich QR-Codes mit allen Geschwindigkeitseinstellungen. Die Geschwindigkeitseinstellung wirkt sich auf den Verarbeitungsansatz aus, schränkt aber nicht die Arten von Barcodes ein, die Sie lesen können. Besuchen Sie die Seite mit den unterstützten Barcode-Formaten, um eine vollständige Liste zu erhalten.

Wie wirkt sich die Bildqualität darauf aus, welche Lesegeschwindigkeit ich wählen sollte?

Die Bildqualität hat einen direkten Einfluss auf Ihre Geschwindigkeitsauswahl in IronBarcode. Klare, qualitativ hochwertige Barcode-Bilder können mit dem Schnelleren Modus effizient verarbeitet werden. Verschlechterte, verschwommene oder kontrastarme Bilder erfordern die Modi Detailed oder ExtremeDetail, um eine genaue Barcode-Erkennung und -Lesung zu gewährleisten.

Wie sieht der minimale Arbeitsablauf für das Lesen von Barcodes mit Geschwindigkeitsoptionen aus?

Der minimale Arbeitsablauf mit IronBarcode umfasst 5 Schritte: 1) Herunterladen der C#-Bibliothek, 2) Verwenden Sie BarcodeReaderOptions, um die Lesegeschwindigkeit einzustellen, 3) Aufrufen der Read-Methode mit Ihrem Bildpfad, 4) Extrahieren und Drucken von Barcodewerten, 5) Evaluieren von Leistungsabwägungen zwischen verschiedenen Geschwindigkeiten.

Wie kann ich die Auswirkungen unterschiedlicher Lesegeschwindigkeiten auf die Leistung messen?

Die Leistung von IronBarcode bei unterschiedlichen Lesegeschwindigkeiten kann mithilfe von .NET-Benchmark-Bibliotheken gemessen werden, um die Verarbeitungszeit und den Speicherverbrauch zu ermitteln. Dies hilft Ihnen, die optimale Geschwindigkeitseinstellung für Ihren spezifischen Anwendungsfall und Ihre Ressourcenbeschränkungen zu ermitteln.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 2,002,059 | Version: 2025.12 gerade veröffentlicht