So lesen Sie Barcodes aus Bilddateien (JPEG, PNG, GIF, TIFF, SVG, BMP)

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

von Hairil Hasyimi Bin Omar




Beginnen Sie noch heute mit der Verwendung von IronBarcode in Ihrem Projekt mit einer kostenlosen Testversion.

Erster Schritt:
green arrow pointer

Barcodes direkt von Bildern lesen

Eine der Hauptfunktionen von IronBarcode ist die Fähigkeit, Barcodes in verschiedenen Bildformaten direkt zu lesen. Die folgenden Bildformate werden derzeit von IronBarcode unterstützt:

* Skalierbare Vektorgrafiken(SVG)

* Gemeinsame Expertengruppe für Fotografie(JPEG)

* Portable Netzwerk-Grafiken(PNG)
  • Grafik-Austauschformat(GIF)
  • Tagged Image File Format(TIFF)

    • Bitmap-Bilddatei(BMP)

    Dies wird mit Hilfe unserer Open-Source-Bibliothek möglich gemacht, EisenZeichnung. Nun, schauen wir uns an, wie wir IronBarcode tatsächlich für das Barcode-Lesen verwenden können:

:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-images-1.cs
using IronBarCode;
using System;

var myBarcode = BarcodeReader.Read(@"image_file_path.jpg"); //image file path

foreach (var item in myBarcode)
{
    Console.WriteLine(item.ToString());
}
Imports IronBarCode
Imports System

Private myBarcode = BarcodeReader.Read("image_file_path.jpg") 'image file path

For Each item In myBarcode
	Console.WriteLine(item.ToString())
Next item
VB   C#
QRcodeintro related to Barcodes direkt von Bildern lesen
Beispiel für einen QR-Code
Code128intro related to Barcodes direkt von Bildern lesen
Barcode für Musterprüfung

Möchten Sie wissen, welche Barcode-Werte in den Beispielen enthalten sind? Probieren Sie es mit dem Code-Snippet aus! Um IronBarcode zu verwenden, müssen Sie als erstes die IronBarcode-Bibliothek über den Microsoft Visual Studio NuGet-Paketmanager in Ihr Projekt installieren, wie in der Abbildung unten gezeigt. Dies ermöglicht Ihnen den Zugang zu IronBarcode BarcodeReader.Read() method to directly read barcode image.

Aus dem obigen Codeschnipsel können wir ersehen, dass IronBarcode einfach ist, da die Benutzer nur BarcodeReader.Read() um eine Bilddatei zu lesen, die bereits im Projekt enthalten ist, indem Sie die dateiname zeichenfolge, ODER dateipfad string als Parameter für die Methode. Es empfiehlt sich, bei der Angabe eines Dateipfads in der Methode das wortwörtliche Zeichen "@" zu verwenden, da die Benutzer andernfalls mehrere Escape-Zeichen "\" in die Dateipfadzeichenkette einfügen müssten.

Anhängen Werte() methode am Ende von BarcodeReader.Read() methodenaufruf zum Abrufen des Barcodewertes als System.String [] object.

Um das Ergebnis in der Konsole angezeigt zu bekommen, können Sie Folgendes verwenden foreach schleife, um die Werte in der Datei string [] array, und rufen Sie innerhalb des Schleifenblocks Console.WriteLine() method with the iterator variable as the parameter.

Diese Methode kann nicht nur 1-dimensionale Barcodeformate lesen(Codabar, Code128, Code39, Code93, EAN13, EAN18, ITF, MSI, UPCA, UPCE)er kann auch 2-dimensionale Barcodeformate lesen(Azteke, DataMatrix, QRCode) in verschiedenen Bildformaten.

Einstellen der Barcode-Leseroptionen

Ist Ihnen das Lesen von Barcodes zu langsam? Der Barcode ist auf dem Bild zu klein und IronBarcode kann ihn nicht lesen? Möchten Sie nur bestimmte Bereiche eines Bildes lesen? Möchten Sie nur bestimmte Arten von Barcodes in einem Bild mit gemischten Barcodes lesen? Möchten Sie die allgemeine Leseleistung verbessern? Mach dir keine Sorgen mehr!

BarcodeReaderOptions ermöglicht es den Benutzern, das Verhalten des Barcode-Lesegeräts zu optimieren oder anzupassen, so dass es alle oben genannten Probleme lösen kann. Lassen Sie uns im Detail alle einstellbaren Eigenschaften von BarcodeReaderOptions einen nach dem anderen:

Anbaufläche

Anbaufläche ist eine Eigenschaft vom Typ IronSoftware.Drawing.CropRectangle verfügbar in BarcodeReaderOptions mit dem der Benutzer den Bereich in einem Bild angeben kann, den IronBarcode lesen soll. Dadurch wird die Leseleistung verbessert, da der Barcodeleser nicht das gesamte Bild nach Barcodes absuchen muss, und die Lesegenauigkeit erhöht, da der Lesebereich festgelegt ist.

Zum Einstellen der Anbaufläche eigenschaft zu verwenden, instanziieren Sie einfach ein neues Objekt vom Typ Rectangle und geben Sie die Koordinaten, die Breite und die Länge des Rechtecks als Argumente an. Die akzeptierte Maßeinheit ist Pixel(px). csharp CropArea = new IronSoftware.Drawing.Rectangle(x, y, width, height)

ExpectBarcodeTypes

Standardmäßig werden alle unterstützten Barcodes in IronBarcode als Bild gescannt. Wenn der Benutzer jedoch weiß, welche Arten von Barcodes in einem Bild vorhanden sind oder gelesen werden sollen, kann die Einstellung dieser Eigenschaft, nur bestimmte Arten von Barcodes zu lesen, die Leseleistung und -genauigkeit erheblich steigern, da der Barcode-Leser nicht durch Sammlungen von Barcodes iterieren muss, um einen Barcode zu interpretieren und zu lesen.

Um diese Eigenschaft zu verwenden, setzen Sie einfach die ExpectBarcodeTypes auf eines der Felder von BarcodeKodierung enum. Lernen Sie alle von IronBarcode unterstützten Barcodetypen kennen und sehen Sie sich ein Beispiel für jeden Barcodetyp an.

  • AllOneDimensional : Lineare Arten von Barcodes. This includes Codabar, Code128, Code39, Code93, EAN13, EAN18, ITF, MSI, UPCA, UPCE barcodes.

  • AllTwoDimensional : Dazu gehören Raster-, Matrix- und gestapelte Barcodes. The barcode type that falls under 2 Dimensional barcodes are Aztec, DataMatrix, QRCode barcodes.

  • Azteke : Aztec 2D-Barcode-Format. Der Aztec-Code ist ein 2D-Strichcode, der 1995 von Andrew Longacre, Jr. und Robert Hussey entwickelt wurde. Benannt nach der Ähnlichkeit des zentralen Suchmusters mit einer aztekischen Pyramide, hat der Aztec-Code das Potenzial, weniger Platz als andere Matrix-Barcodes zu beanspruchen, da er keine umgebende leere "Ruhezone" benötigt. Unten sehen Sie ein Beispiel für einen Aztec-Barcode
  • Aztec-Barcode-Beispiel
    Azteken-Barcode
  • Codabar : Codabar ist eine lineare Strichcode-Symbologie, die 1972 von Pitney Bowes Corp. entwickelt wurde. Codabar kodiert nur numerische Daten (Ziffern). Nachfolgend ein Beispiel für einen Codabar-Barcode
  • Codabar-Barcode-Beispiel
    Codabar Strichcode
  • Code128 : Der Code 128 ist eine lineare Barcode-Symbologie mit hoher Dichte, die in ISO/IEC 15417:2007 definiert ist. Er wird verwendet für alphanumerisch oder nur numerisch barcodes. Nachstehend ein Beispiel für einen Code128-Barcode
  • Code128-Barcode-Beispiel
    Code128 Strichcode
  • Code39 : Der Code 39 ist eine diskrete Barcode-Symbologie mit variabler Länge. Die Code 39-Spezifikation definiert 43 Zeichen, bestehend aus Großbuchstaben (A bis Z). Unten sehen Sie ein Beispiel für einen Code39-Barcode
  • Code39-Barcode-Beispiel
    Code39 Strichcode
  • Code93 : Code 93 1D Barcode-Format. Code 93 ist eine Barcode-Symbologie, die 1982 von Intermec entwickelt wurde, um eine höhere Dichte und Datensicherheit gegenüber Code 39 zu erreichen. Code 93 unterstützt die Kodierung von nur die folgenden ASCII-Zeichen: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 - . $ / + % LEERZEICHEN. Nachstehend ein Beispiel für einen Code93-Strichcode
  • Code93-Barcode-Beispiel
    Code93 Strichcode
  • DataMatrix : Ein Data Matrix ist ein zweidimensionaler Strichcode, der aus schwarzen und weißen "Zellen" oder Modulen besteht, die entweder in einem quadratischen oder rechteckigen Muster angeordnet sind, das auch als Matrix bezeichnet wird. Die zu kodierenden Informationen können sein text oder numerische Daten. Die übliche Datengröße reicht von wenigen Bytes bis zu 1556 Bytes. Unten sehen Sie ein Beispiel für einen DataMatrix-Barcode
  • DataMatrix Barcode-Beispiel
    DataMatrix Barcode
  • EAN13 : Die Internationale Artikelnummer (auch bekannt als Europäische Artikelnummer oder EAN) ist ein Standard, der eine Strichcode-Symbologie und ein Nummerierungssystem beschreibt, die im globalen Handel verwendet werden, um einen bestimmten Produkttyp im Einzelhandel in einer bestimmten Verpackungskonfiguration von einem bestimmten Hersteller zu identifizieren. EAN-13 kann nur numerische (Ziffern) Inhalte mit einer Länge von 12 oder 13 Ziffern kodieren. Bei kürzeren Barcodes werden automatisch Nullen (000) an den Anfang der Nummer angehängt. Nachstehend ein Beispiel für einen EAN13-Strichcode
  • EAN13-Strichcode-Muster
    EAN13-Strichcode
  • EAN8 : Ein EAN-8 ist ein EAN/UPC-Symbologie-Strichcode, der aus dem längeren Code der Internationalen Artikelnummer (EAN-13) abgeleitet ist. EAN-8 kann nur numerische (Ziffern) Inhalte mit einer Länge von 7 oder 8 Ziffern kodieren. Bei kürzeren Barcodes werden automatisch Nullen (000) an den Anfang der Nummer angehängt. Nachstehend ein Beispiel für einen EAN8-Strichcode
  • EAN8-Strichcode-Muster
    EAN8-Strichcode
  • IntelligentMail : Intelligent Mail 2D-Strichcode-Format. Der Intelligent Mail Barcode (auch bekannt als "IM Barcode" oder "USPS OneCode Barcodes" oder "IMB") ist ein 65-Balken-Strichcode zur Verwendung auf Post in den Vereinigten Staaten. Der Begriff "Intelligent Mail" bezieht sich auf Dienstleistungen, die der United States Postal Service für die Zustellung von Inlandspost anbietet. Der IM-Barcode soll mehr Informationen und Funktionen bieten als seine Vorgänger POSTNET und PLANET. Bitte beachten Sie, dass IronBarcode nur LESEN diese Art von Barcode. Nachfolgend ein Beispiel für einen Barcode dieses Typs
  • IntelligentMail Barcode-Beispiel
    IntelligentMail Barcode
  • ITF : ITF-14 ist die GS1-Implementierung eines Interleaved 2 of 5 (ITF) Strichcodes zur Kodierung einer Global Trade Item Number. ITF-14-Symbole werden in der Regel auf Verpackungsebenen eines Produkts verwendet, z. B. auf einem Karton mit 24 Dosen Suppe. Der ITF-14 kodiert immer 14 Ziffern. ITF kodiert nur numerische Daten. Wenn die Anzahl der Ziffern nicht gerade ist, wird automatisch eine "0" vorangestellt. Nachstehend ein Beispiel für einen ITF-Strichcode
  • ITF-Barcode-Muster
    ITF-Strichcode
  • MaxiCode : MaxiCode 2D-Barcode-Format. MaxiCode ist ein gemeinfreies, maschinenlesbares Symbolsystem, das ursprünglich vom United Parcel Service entwickelt und verwendet wurde. Es eignet sich für die Verfolgung und Verwaltung des Versands von Paketen und ähnelt einem Strichcode, verwendet aber stattdessen Punkte, die in einem sechseckigen Gitter angeordnet sind. Bitte beachten Sie, dass IronBarcode nur LESEN diese Art von Barcode. Nachfolgend ein Beispiel für einen Barcode dieses Typs
  • MaxiCode Barcode-Beispiel
    MaxiCode Strichcode
  • MSI : MSI ist eine von der MSI Data Corporation entwickelte Strichcode-Symbologie, die auf der ursprünglichen Plessey-Code-Symbologie basiert. Diese Art von Barcode akzeptiert nur numerische Werte. Nachfolgend ein Beispiel für einen MSI-Barcode
  • MSI-Barcode-Beispiel
    MSI-Strichcode
  • PDF417 : PDF417 ist ein gestapeltes, lineares Barcode-Symbolformat, das in einer Vielzahl von Anwendungen eingesetzt wird, vor allem im Transportwesen, bei Ausweiskarten und in der Bestandsverwaltung. PDF steht für Portable Data File. Die 417 bedeutet, dass jedes Muster des Codes aus 4 Strichen und Leerzeichen besteht und dass jedes Muster 17 Einheiten lang ist. Die PDF417-Symbologie wurde 1991 von Dr. Ynjiun P. Wang bei Symbol Technologies erfunden. (Wang 1993) Sie entspricht der ISO-Norm 15438. Unten sehen Sie ein Beispiel für einen PDF417-Strichcode
  • PDF417-Barcode-Beispiel
    PDF417-Strichcode
  • Plessey : Der Plessey-Code ist ein linearer 1D-Strichcode, der auf Pulsweitenmodulation basiert und 1971 von der britischen Firma The Plessey Company PLC entwickelt wurde. Dieser Barcodetyp akzeptiert nur numerische Werte. Unten sehen Sie ein Beispiel für einen Plessey-Strichcode
  • Plessey Barcode Muster
    Plessey Barcode
  • QRCode : QR-Code (abgekürzt von Quick Response Code) ist das Markenzeichen für eine Art von Matrix-Barcode (oder zweidimensionalem Barcode), der erstmals 1994 für die Automobilindustrie in Japan entwickelt wurde. Ein Barcode ist ein maschinenlesbares optisches Etikett, das Informationen über den Gegenstand enthält, an dem es angebracht ist. Ein QR-Code verwendet vier standardisierte Kodierungsmodi (numerisch, alphanumerisch, byte/binär und Kanji), um Daten effizient zu speichern; es können auch Erweiterungen verwendet werden. Unten sehen Sie ein Beispiel für einen QR-Code-Barcode
  • QRCode Barcode-Beispiel
    QRCode Strichcode
  • Rss14 : Reduce Space Symbology 14 Barcode-Format. Kann einen 1D-Strichcode oder einen gestapelten 2D-Strichcode darstellen. Der RSS 14-Barcode (Reduce Space Symbology) kodiert die vollständige 14-stellige EAN.UCC-Artikelidentifikation in einem Symbol, das von entsprechend konfigurierten Laserscannern am Point-of-Sale omnidirektional gescannt werden kann. Es handelt sich um den neuesten Barcodetyp für platzbeschränkte Identifizierung von EAN International und dem Uniform Code Council, Inc. RSS-Barcodes wurden für die Lebensmittelindustrie und das Gesundheitswesen entwickelt, wo Artikel zu klein sind, um andere Barcode-Symbologien zu verwenden. Bitte beachten Sie, dass IronBarcode nur LESEN diese Art von Barcode. Unten ist ein Beispiel für einen Rss14-Barcode
  • 1D Rss14 Barcode Beispiel
    dimensionaler Rss14-Strichcode
    2D Rss14 Barcode Beispiel
    dimensionaler Rss14 Barcode
  • UPCA : Der Universal Product Code (UPC) ist eine Strichcode-Symbologie, die in den Vereinigten Staaten, Kanada, dem Vereinigten Königreich, Australien, Neuseeland, in Europa und anderen Ländern zur Verfolgung von Handelsartikeln in Geschäften weit verbreitet ist. UPC (technisch gesehen UPC-A) besteht aus 12 numerischen Ziffern, die jedem Handelsartikel eindeutig zugeordnet sind. Zusammen mit dem verwandten EAN-Strichcode ist der UPC der Strichcode, der gemäß den GS1-Spezifikationen hauptsächlich zum Scannen von Handelsartikeln an der Verkaufsstelle verwendet wird. UPCA kann nur numerische (Ziffern) Inhalte mit einer Länge von 12 oder 13 Ziffern kodieren. Bei kürzeren Barcodes werden automatisch Nullen (000) an den Anfang der Nummer angehängt. Nachstehend ein Beispiel für einen UPCA-Strichcode
  • UPCA-Barcode-Muster
    UPCA-Strichcode
  • UPCE : Um die Verwendung von UPC-Strichcodes auf kleineren Verpackungen zu ermöglichen, auf die ein vollständiger 12-stelliger Strichcode möglicherweise nicht passt, wurde eine "nullunterdrückte" Version von UPC entwickelt, die UPC-E genannt wird und bei der die Ziffer des Zahlensystems, alle nachgestellten Nullen im Herstellercode und alle führenden Nullen im Produktcode unterdrückt werden. UPCE kann nur numerische (Ziffern) Inhalte mit einer Länge von 7 oder 8 Ziffern kodieren. Unten sehen Sie ein Beispiel für einen UPCE-Barcode
  • UPCE Barcode-Beispiel
    UPCE Barcode

ExpectMultipleBarcodes

IronBarcode scannt standardmäßig alle in einem Bild vorhandenen Barcodes, d.h. es wird die gesamte Bilddatei gescannt und die gelesenen Barcodewerte werden in das String-Array eingetragen. Wenn der Benutzer jedoch nicht mehrere Strichcodes in einer Bilddatei lesen möchte, kann er diese Eigenschaft auf falsch die den Barcode-Leser dazu veranlasst, das Scannen zu beenden, sobald ein Barcode-Wert gefunden wurde. Dies wird die Leistung und die Lesegeschwindigkeit von IronBarcode weiter verbessern.

ImageFilters

Eine der Eigenschaften, die hinzugefügt werden können BarcodeReaderOptions ist eine Sammlung von Bildfiltern. Bildfilter sind wichtig, um das in Iron Barcode eingespeiste Rohbild vorzuverarbeiten. Zur Anwendung von Bildfiltern innerhalb der BarcodeReaderOptionsmüssen die Benutzer zunächst die ImageFilter zu verwendende Sammlung.

MaxParallelThreads

IronBarcode ermöglicht es dem Benutzer auch, die Anzahl der parallel ausgeführten Threads zu aktivieren und zu optimieren, was wiederum die Geschwindigkeit und Effizienz des Prozesses verbessert. Parallele Threads bedeuten die gleichzeitige Ausführung von mehreren Threads auf verschiedenen Prozessorkernen. Standardbetrag für MaxParallelThread eigenschaft in IronBarcode ist 4. Die Benutzer können sie auf der Grundlage der Fähigkeiten und der Menge an Ressourcen, über die ihre Maschinen verfügen, anpassen.

Multithreading

Diese Eigenschaft ermöglicht es IronBarcode, mehrere Bilder parallel zu lesen. Der Standardwert für Multihreaded ist Wahrdaher werden mehrere Threads automatisch verwaltet, um die Leistung für Batch-Barcode-Leseaufgaben zu verbessern.

RemoveFalsePositive

Mit dieser Eigenschaft werden alle falsch-positiven Barcode-Lesungen entfernt. Falsch positive Barcodelesungen bedeuten einfach, dass ein Barcode falsch gelesen, aber als gültig erkannt wurde. Dies kann auf Fehler im Sequenzierungsprozess, wie z. B. Sequenzierungsfehler, oder Fehler bei der Barcode-Etikettierung oder -Vorbereitung zurückzuführen sein. Daher ist die Einstellung RemoveFalsePositive als "true" werden die falsch-positiven Barcode-Lesungen entfernt, wodurch die Genauigkeit der Barcode-Lesung verbessert wird. Wenn der Benutzer jedoch Leistung auf Kosten der Genauigkeit wünscht, sollte er diese Eigenschaft auf Falsch wäre hilfreich. Der Standardwert für diese Eigenschaft ist Wahr.

Geschwindigkeit

Wie der Name schon sagt, Geschwindigkeit ermöglichen es den Anwendern, die Leistung des IronBarcode Barcodelesers weiter zu optimieren. Dasselbe wie RemoveFalsePositive wenn Sie diese Eigenschaft verändern, verbessern Sie die Leistung auf Kosten der Genauigkeit, allerdings in 4 Stufen (siehe unten):

  • ReadingSpeed.Faster

    Einstellung der Geschwindigkeit auf diesen Wert erhöht, wird das Lesen von Strichcodes schneller, allerdings auf Kosten der Genauigkeit. Das Programm wird zwar schnell ausgeführt, liefert aber meistens ein leeres Barcode-Ergebnis. Dies liegt daran, dass das Eingabebild nicht vorverarbeitet wird überhaupt und IronBarcode liest das Barcodebild so, wie es ist. Die Benutzer sollten diesen Wert nur verwenden, wenn sie sicher sind, dass das Eingangsbild scharf und klar ist.

  • ReadingSpeed.Balanced

    Diese Einstellung ist empfohlen für die Geschwindigkeit eigentum. Es stellt ein Gleichgewicht zwischen Genauigkeit und Leseleistung her, indem es versucht, Lichtverarbeitung auf das Bild anzuwenden, um den Strichcodebereich zu verdeutlichen und ihn für das Strichcodelesegerät erkennbar zu machen. In den meisten Fällen reicht diese Einstellung aus, damit IronBarcode ein Barcodebild lesen und korrekt ausgeben kann.

  • ReadingSpeed.Detailed

    Falls Sie die Einstellung ReadingSpeed.Balanced nicht in der Lage ist, aus dem gelesenen Barcode einen Wert zu erzeugen, kann der Benutzer die Option ReadingSpeed.Detailed. IronBarcode führt eine mittlere Bearbeitung des Bildes durch, um den Barcodebereich weiter zu verdeutlichen, damit der Barcodeleser den Barcode besser erkennen kann. Diese Einstellung ist sehr nützlich, um ein kleines oder unscharfes Barcodebild zu erkennen.

    Bitte beachten Sie jedoch, dass diese Einstellung CPU-intensiv ist und die Leseleistung beeinträchtigen kann. Es wird empfohlen, mit anderen Einstellungen zu experimentieren, bevor Sie diese Einstellung verwenden. Kombination von ReadingSpeed.Detailed mit RemoveFalsePositive auf "True" gesetzt, wird eine Warnung auf der Konsole ausgegeben. Dies hat jedoch keinen Einfluss auf das Lesen und kann ignoriert werden.

  • ReadingSpeed.ExtremeDetail

    Diese Einstellung ist die am wenigsten empfohlene Einstellung, da es sich um einen CPU-intensiven Prozess handelt, bei dem das Barcode-Bild stark bearbeitet wird, damit der Leser die Barcodes lesen kann. Dadurch wird die Leseleistung von IronBarcode stark reduziert. Es wird empfohlen, das Bild vor dieser Einstellung vorzubearbeiten bzw. Filter auf das Bild anzuwenden.

    Bitte beachten Sie jedoch, dass diese Einstellung CPU-intensiv ist und die Leseleistung beeinträchtigen kann. Es wird empfohlen, mit anderen Einstellungen zu experimentieren, bevor Sie diese Einstellung verwenden. Kombination von ReadingSpeed.ExtremeDetail mit RemoveFalsePositive auf "True" gesetzt, wird eine Warnung auf der Konsole ausgegeben. Dies hat jedoch keinen Einfluss auf das Lesen und kann ignoriert werden.

UseCode39ExtendedMode

Mit dieser Einstellung können Barcodes vom Typ Code39 im erweiterten Modus gelesen und interpretiert werden, wobei der gesamte ASCII-Zeichensatz verwendet wird. Einstellung UseCode39ExtendedMode zu Wahr ermöglicht ein genaueres Lesen von Code39-Barcodes.

Advance Barcode aus Bild lesen

Nachdem wir nun alle Optionen kennengelernt haben, die von den Benutzern angepasst werden können, sei es zur Steigerung der Leistung oder der Genauigkeit, wollen wir sehen, wie wir sie in unserem Code anwenden können. Das folgende Codeschnipsel veranschaulicht dies.

:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-images-2.cs
using IronBarCode;
using System;

BarcodeReaderOptions myOptions = new BarcodeReaderOptions()
{
    ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional, //or AllTwoDimensional
    ExpectMultipleBarcodes = true, // Default is true
    MaxParallelThreads = 2, // Default is 4
    Speed = ReadingSpeed.Detailed, // 4 levels of speed. Default is Balanced
    CropArea = new IronSoftware.Drawing.Rectangle(x: 242, y: 1124, width: 359, height: 378), // Units are in px
    ImageFilters = new ImageFilterCollection { new BinaryThresholdFilter() }, // Assign to image filter object name
    Multithreaded = true, // Default is true
    UseCode39ExtendedMode = true, // Default is true

};

var myBarcode = BarcodeReader.Read(@"image_file_path.jpg", myOptions); // Image file path

foreach (var item in myBarcode)
{
    Console.WriteLine(item.ToString());
}
Imports IronBarCode
Imports System

Private myOptions As New BarcodeReaderOptions() With {
	.ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
	.ExpectMultipleBarcodes = True,
	.MaxParallelThreads = 2,
	.Speed = ReadingSpeed.Detailed,
	.CropArea = New IronSoftware.Drawing.Rectangle(x:= 242, y:= 1124, width:= 359, height:= 378),
	.ImageFilters = New ImageFilterCollection From {New BinaryThresholdFilter()},
	.Multithreaded = True,
	.UseCode39ExtendedMode = True
}

Private myBarcode = BarcodeReader.Read("image_file_path.jpg", myOptions) ' Image file path

For Each item In myBarcode
	Console.WriteLine(item.ToString())
Next item
VB   C#

Aus dem Codeschnipsel können wir ersehen, dass für die Verwendung von BarcodeReaderOptions müssen wir es zunächst initialisieren, dann können wir die Eigenschaften des BarcodeReaderOptions gemäß den oben genannten Eigenschaften. Die initialisierte BarcodeReaderOptions kann dann später als Argument in BarcodeReader.Read() methode zusammen mit der Bilddatei. Dadurch werden alle Einstellungen in BarcodeReaderOptions beim Lesen von Strichcodes aus dem Bild.

Hairil related to Advance Barcode aus Bild lesen

Hairil Hasyimi Bin Omar

Software-Ingenieur

Wie alle großartigen Ingenieure ist Hairil ein eifriger Lerner. Er verfeinert seine Kenntnisse in C#, Python und Java und nutzt dieses Wissen, um den Teammitgliedern von Iron Software einen Mehrwert zu bieten. Hairil kam von der Universiti Teknologi MARA in Malaysia zum Iron Software-Team, wo er einen Bachelor-Abschluss in Chemie- und Verfahrenstechnik erwarb.