Geschwindigkeit ist für jede Barcode-Scanning-Anwendung entscheidend - egal ob Sie Produkte im Lager mit einer Kamera, Teile an einer Produktionslinie oder Artikel an der Kasse scannen.
Das
VintaSoft Barcode .NET SDK bietet einen automatischen Barcode-Erkennungsmodus, der standardmäßig verwendet wird. Dieser Modus ist so ausbalanciert, dass er unter allen Bedingungen eine optimale Erkennungsqualität gewährleistet.
Das
VintaSoft Barcode .NET SDK bietet außerdem einen manuellen Barcode-Erkennungsmodus mit zahlreichen Spezialeinstellungen, mit dem Sie in jeder Situation maximale Leistung und/oder Barcode-Erkennungsqualität erzielen können.
Im Folgenden wird erläutert, wie die detaillierte Anpassung der
VintaSoft Barcode .NET SDK-Einstellungen zu einer schnelleren Barcode-Erkennung unter verschiedenen Bedingungen beiträgt.
Schritt 1: Grundlegende (allgemeine) Scaneinstellungen definieren
Diese Einstellungen beeinflussen die Erkennungsgeschwindigkeit aller Barcode-Typen.
Barcode-Typen festlegen
Barcode-Typen oder Barcode-Teilmengen festlegen:
reader.Settings.ScanBarcodeTypes = BarcodeType.QR | BarcodeType.DataMatrix;
reader.Settings.ScanBarcodeSubsets.Add(BarcodeSymbologySubsets.GS1_128);
Erwartete Anzahl an Barcodes festlegen
Verwenden Sie die
ReaderSettings.ExpectedBarcodes-Eigenschaft, um die Anzahl der im Bild erwarteten Barcodes festzulegen.
Erkennungsmodus festlegen
Der Erkennungsmodus hat den größten Einfluss auf die Geschwindigkeit der Barcode-Erkennung. Der VintaSoft Barcode Reader bietet vier Erkennungsmodi für unterschiedliche Anwendungsfälle:
-
Automatisch (Standard). Dieser Modus erfordert keine Konfiguration und geht auf Kosten der Geschwindigkeit zugunsten der Erkennungsqualität. Die Erkennungsgeschwindigkeit hängt direkt von der Qualität des Bildes mit den Barcodes ab. Dieser Modus eignet sich, wenn die Parameter von Bildern und Barcodes unbekannt sind (wechselnde oder ungleichmäßige Beleuchtung, Unschärfe, unbekannte Barcodegröße usw.).
reader.Settings.AutomaticRecognition = true;
-
Iterativ. Dieser Modus wird verwendet, wenn sich die Beleuchtung des Barcodes ändert. Legen Sie die oberen und unteren Binarisierungsschwellenwerte sowie die Anzahl der Iterationen fest. Die Erkennungsgeschwindigkeit hängt von der korrekten Wahl der Iterationsanzahl sowie der oberen und unteren Binarisierungsschwellenwerte ab.
reader.Settings.AutomaticRecognition = false;
reader.Settings.ThresholdMode = ThresholdMode.Iterations;
reader.Settings.ThresholdMin = 100;
reader.Settings.ThresholdMax = 600;
reader.Settings.ThresholdIterations = 6;
-
Automatischer Schwellenwert. Dieser Modus wird verwendet, wenn sich die Beleuchtung des Barcodes ändert, der Barcode aber eine normale Modulation aufweist (besteht aus Schwarz-Weiß-Farben). Die Erkennungsgeschwindigkeit ist unabhängig von der Bildqualität festgelegt.
reader.Settings.AutomaticRecognition = false;
reader.Settings.ThresholdMode = ThresholdMode.Automatic;
-
Manueller Schwellenwert. Dieser Modus sollte verwendet werden, wenn sich die Barcode-Beleuchtung nicht ändert, beispielsweise wenn die Kamera in einer Produktionslinie installiert ist. Legen Sie den Binarisierungsschwellenwert über die Eigenschaft ReaderSettings.Threshold fest. Die Erkennungsgeschwindigkeit ist unabhängig von der Bildqualität konstant.
reader.Settings.AutomaticRecognition = false;
reader.Settings.ThresholdMode = ThresholdMode.Iterations;
reader.Settings.Threshold = 450;
Größe des Barcodes im Bild prüfen,
Wenn Ihre eindimensionalen Barcodes von guter Qualität sind und eine große Höhe aufweisen, erhöhen Sie das Scanintervall mithilfe der Eigenschaft
ReaderSettings.ScanInterval.
Position des Barcodes im Bild festlegen,
Wenn Sie wissen, in welchem Rechteck des Bildes sich der Barcode befinden könnte,Geben Sie anschließend die Koordinaten des Rechtecks mithilfe der Eigenschaft
ReaderSettings.ScanRectangle an.
Schritt 2: Erweiterte Einstellungen,
VintaSoft bietet darüber hinaus eine erweiterte Steuerung der Barcode-Erkennungs-Engine. Dies verleiht dem VintaSoft Barcode Reader einen Leistungsvorteil gegenüber anderen Anbietern und ermöglicht unübertroffene Geschwindigkeit in verschiedensten Umgebungen.
Größe der Barcode-Module bestimmen
Wenn das Bild einen Barcode enthält, dessen einzelnes Modul größer als 6 Pixel ist, verwenden Sie die Eigenschaft
ReaderSettings.ImageScaleFactor, um das Bild so zu verkleinern, dass die Größe eines einzelnen Moduls zwischen 3 und 6 Pixel liegt. Dies beschleunigt die Barcode-Erkennung erheblich.
Multithread-Verarbeitung
VintaSoft Barcode Reader verwendet standardmäßig Multithreading. Sie können die Anzahl der verwendeten Threads über die Eigenschaft
ReaderSettings.MaximumThreadCount ändern.
Feinabstimmung der Binarisierung
VintaSoft Barcode Reader bietet zwei Modi der adaptiven Binarisierung:
Schnell und
Hohe Qualität (Standard). Wenn der Barcode in den Bildern gleichmäßig ausgeleuchtet ist, verwenden Sie den schnellen Modus der adaptiven Binarisierung:
reader.Settings.AdaptiveBinarizationType = AdaptiveBinarizationType.Fast;
Scaneinstellungen abhängig vom Barcode-Typ definieren
- Legen Sie die Eigenschaft ReaderSettings.MatrixBarcodeMaxCellSize fest, wenn die ungefähre Größe eines einzelnen Moduls eines zweidimensionalen Barcodes bekannt ist.
- Wenn die Erkennung reflektierter zweidimensionaler Barcodes nicht erforderlich ist, deaktivieren Sie sie mithilfe der Eigenschaft ReaderSettings.SearchMirrored2DBarcodes.
- QR-Code. Reduzieren Sie den Wert der Eigenschaft ReaderSettings.QrMaxAxialNonuniformity, wenn die erkannten Barcodes keine axialen Verzerrungen aufweisen.
- QR-Code. Legen Sie die Eigenschaften ReaderSettings.QrMaxSymbolVersion und ReaderSettings.QrMinSymbolVersion fest, falls die Matrixgröße des erkannten QR-Codes bekannt ist.
- QR-Code. Deaktivieren Sie die ReaderSettings.SearchDistortedQRBarcodes-Eigenschaft, wenn die gescannten Barcodes keine Verzerrungen der Barcode-Matrixgröße aufweisen (der Barcode ist quadratisch).
- Data Matrix. Verringern Sie den Wert der ReaderSettings.DataMatrixLPatternMaxErasures-Eigenschaft, wenn die gescannten DataMatrix-Barcodes keine Beschädigungen ihrer "L"-Muster aufweisen.
- Data Matrix. Deaktivieren Sie die ReaderSettings.SearchDistortedDataMatrixBarcodes-Eigenschaft, wenn die gescannten Barcodes keine Verzerrungen in den Dimensionen der Barcode-Matrix aufweisen (der Barcode ist rechteckig).
- Data Matrix. Legen Sie die ReaderSettings.DataMatrixMinCellSize-Eigenschaft fest, wenn die ungefähre Größe eines einzelnen Barcode-Moduls bekannt ist.
- Data Matrix. Bei hochwertigen Barcodes erhöhen Sie den Wert der Eigenschaft ReaderSettings.ScanInterval. Für normale Data-Matrix-Barcodequalität empfiehlt es sich, das Scanintervall so einzustellen, dass mindestens vier Scanzeilen den Barcode durchlaufen.
- DotCode. Legen Sie die Eigenschaften ReaderSettings.DotCodeMatrixMaxArea und ReaderSettings.DotCodeMatrixMinArea fest, wenn die Matrixgröße des erkannten Dot-Code-Barcodes bekannt ist.
Schritt 3: Zusätzliche Maßnahmen für maximale Geschwindigkeit
- Um die Zeit für die Barcode-Erkennung zu begrenzen, verwenden Sie die ReaderSettings.RecognitionTimeout-Eigenschaft.
- Erstellen Sie eine Instanz der Klasse BarcodeReader für die Erkennung und verwenden Sie diese mehrfach. Falls die Erkennung unterschiedlicher Bilder in mehreren Threads erfolgt, verwenden Sie für jeden Thread eine separate Instanz der Klasse BarcodeReader.
- Bilder nach Möglichkeit nicht kodieren/dekodieren. Befinden sich die Bildpixeldaten im Speicher (z. B. von einer Kamera), verwenden Sie Folgendes als Quelle für die Bilderkennung:
- Kontaktieren Sie unser Expertenteam für individuelle Empfehlungen zur Anpassung des VintaSoft Barcode Readers an Ihre Anforderungen.
Fazit: Schnelles Barcode-Scannen unter allen Bedingungen
Der VintaSoft Barcode Reader ist für schnelles Scannen auch unter schwierigen Bedingungen konzipiert - bei schwachem oder ungleichmäßigem Licht, unscharfen Bildern, komplexen Layouts oder verzerrten Bildern. Dank umfassender Konfigurationsmöglichkeiten für den Barcode-Scanvorgang können Ihre Anwendungen:
- Sofortiges Scannen für eine bessere Benutzererfahrung
- Konstante Barcode-Erkennungsqualität
- Anpassung der Scangeschwindigkeit an Ihre Bedürfnisse
- Reduzierung der Hardwarelast, was insbesondere für mobile, eingebettete oder Hochleistungssysteme wichtig ist.