Strichcodes spielen eine wichtige Rolle bei der genauen Bestandsverfolgung und Lieferung von Produkten von der Herstellung bis zum Verkaufsort. In bestimmten Fällen müssen wir möglicherweise Barcodes von Bildern programmgesteuert lesen. Wir können verschiedene Arten von Barcodes und QR-Codes in Java-Anwendungen leicht erkennen, erkennen und lesen. Es hilft bei der Entwicklung von Barcodeleser- oder Scanneranwendungen. In diesem Artikel erfahren Sie, wie Sie mit Java einen Barcode aus einem Bild lesen.
Folgende Themen sollen in diesem Artikel behandelt werden:
- Was ist Strichcode
- Java-API zum Lesen von Barcodes aus Bildern
- Barcode aus einem Bild lesen
- Barcode eines bestimmten Typs erkennen
- Lesen Sie mehrere Barcodes aus einem Bild
- Holen Sie sich die X- und Y-Koordinaten des Barcodes
- Lesen Sie den Barcode aus einem bestimmten Bildbereich
Was ist Strichcode
Ein Strichcode ist ein maschinenlesbarer Code, der verschlüsselte Daten in Form von Zahlen und einem Muster aus parallelen Linien darstellt. Das Barcode-Bild zeigt eine Reihe paralleler schwarzer und weißer Balken mit unterschiedlichen Breiten, Abständen und Größen. Barcode-Lesegeräte oder -Scanner scannen die Barcode-Bilder und entschlüsseln die Informationen.
Java-API zum Lesen von Barcodes aus Bildern
Um die Barcodes von Bildern innerhalb der Java-Anwendungen zu lesen, verwenden wir Aspose.BarCode for Java. Es ist eine funktionsreiche API, mit der Sie eine Vielzahl von Barcode-Symbologien generieren, scannen und lesen können. Die Klasse BarCodeReader der API ermöglicht das Lesen der Barcodes. Die Methode readBarCodes() dieser Klasse gibt ein Array erkannter Barcodes zurück. Die API ermöglicht das Lesen von Barcodes des angegebenen DecodeType. Die Klasse BarCodeResult der API speichert die erkannten Barcodedaten wie Barcodetyp, Codetext, Region und andere Parameter.
Bitte laden Sie die JAR-Datei der API herunter oder fügen Sie die folgende pom.xml-Konfiguration in einer Maven-basierten Java-Anwendung hinzu.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-barcode</artifactId>
<version>22.5</version>
</dependency>
Barcode aus einem Bild in Java lesen
Wir können Barcodes von einem Bild lesen, indem wir die folgenden Schritte ausführen:
- Laden Sie zunächst ein Bild mit der BarCodeReader-Klasse.
- Abrufen von Erkennungsergebnissen im Objekt der Klasse BarCodeResult mithilfe der Methode readBarCodes().
- Durchlaufen Sie abschließend die Ergebnisse und zeigen Sie Typ und Text des Barcodes an.
Das folgende Codebeispiel zeigt, wie Sie mit Java einen Barcode aus einem Bild lesen.
// Dieses Codebeispiel zeigt, wie Barcodes aus einem Bild gelesen werden.
// Der Pfad zum Bildverzeichnis
String dataDir = "C:\\Files\\BarCode\\";
// Barcodeleser initialisieren
BarCodeReader reader = new BarCodeReader(dataDir + "CodeText.jpg");
// Barcode lesen und Ergebnisse anzeigen
for (BarCodeResult result : reader.readBarCodes()) {
System.out.println("CodeText: " + result.getCodeText());
System.out.println("Symbology type: " + result.getCodeType());
}
Barcode eines bestimmten Typs in Java erkennen
Wir können einen Barcode eines bestimmten Typs aus einem Bild lesen, indem wir die folgenden Schritte ausführen:
- Lesen Sie zunächst die Pufferdaten einer Bilddatei mit der Methode ImageIO.read().
- Erstellen Sie als Nächstes eine Instanz der BarCodeReader-Klasse mit einem gepufferten Bild und einem Decodierungstyp.
- Legen Sie dann einen Barcode-Decodierungstyp fest, um den Barcode eines bestimmten Typs zu lesen, z. B. CODE_39_STANDARD.
- Rufen Sie danach die Erkennungsergebnisse im Objekt der Klasse BarCodeResult mit der Methode readBarCodes() ab.
- Durchlaufen Sie abschließend die Ergebnisse und zeigen Sie Typ und Text des Barcodes an.
Das folgende Codebeispiel zeigt, wie ein Strichcode eines bestimmten Typs mithilfe von Java aus einem Bild gelesen wird.
// Dieses Codebeispiel zeigt, wie Barcodes eines bestimmten Dekodierungstyps aus einem Bild gelesen werden.
// Der Pfad zum Bildverzeichnis
String dataDir = "C:\\Files\\BarCode\\";
// Holen Sie sich ein gebuffertes Bild
BufferedImage img = ImageIO.read(new File(dataDir + "CODE_39_STANDARD.jpg"));
// Barcodeleser initialisieren
BarCodeReader reader = new BarCodeReader(img, DecodeType.CODE_39_STANDARD);
// Barcode vom Typ Code39Extended lesen
for (BarCodeResult result : reader.readBarCodes()) {
System.out.println("CodeText: " + result.getCodeText());
System.out.println("Symbology type: " + result.getCodeType());
}
Lesen Sie mehrere Barcodes aus einem Bild in Java
Wir können auch alle verfügbaren Barcodes aus einem Bild lesen, indem wir die folgenden Schritte ausführen:
- Laden Sie zunächst ein Bild mit der BarCodeReader-Klasse.
- Legen Sie als Nächstes einen Barcode-Decodierungstyp als ALL_SUPPORTED_TYPES fest.
- Rufen Sie danach die Erkennungsergebnisse im Objekt der Klasse BarCodeResult mit der Methode readBarCodes() ab.
- Durchlaufen Sie abschließend die Ergebnisse und zeigen Sie Typ und Text des Barcodes an.
Das folgende Codebeispiel zeigt, wie Sie mit Java mehrere Barcodes aus einem Bild lesen.
// Dieses Codebeispiel zeigt, wie mehrere Barcodes aus einem Bild gelesen werden.
// Der Pfad zum Bildverzeichnis
String dataDir = "C:\\Files\\BarCode\\";
// Barcodeleser initialisieren
BarCodeReader reader = new BarCodeReader(dataDir + "MultipleBarcodes.png", DecodeType.ALL_SUPPORTED_TYPES);
// Lesen Sie alle Arten von Barcodes, die auf dem Eingabebild verfügbar sind
for (BarCodeResult result : reader.readBarCodes()) {
System.out.println("CodeText: " + result.getCodeText());
System.out.println("Symbology type: " + result.getCodeType());
System.out.println("-------------------------");
}
Holen Sie sich die X- und Y-Koordinaten des Barcodes mit Java
Wir können die X- und Y-Koordinaten des erkannten Barcodes aus einem Bild lesen, indem wir die folgenden Schritte ausführen:
- Laden Sie zunächst ein Bild mit der BarCodeReader-Klasse.
- Rufen Sie als Nächstes mithilfe der Methode readBarCodes() die Erkennungsergebnisse im Objekt der Klasse BarCodeResult ab.
- Durchlaufen Sie dann die Ergebnisse und prüfen Sie, ob getRegion() nicht null ist.
- Rufen Sie danach mit getPoints() das Points-Array ab, das die Barcode-Region begrenzt.
- Zeigen Sie abschließend die X- und Y-Punkte des Barcodes an.
Das folgende Codebeispiel zeigt, wie Sie die X- und Y-Koordinatenpunkte eines Barcodes mithilfe von Java aus einem Bild abrufen.
// Dieses Codebeispiel zeigt, wie der X- und Y-Regionspunkt von Barcodes aus einem Bild gelesen wird.
// Der Pfad zum Bildverzeichnis
String dataDir = "C:\\Files\\BarCode\\";
// Barcodeleser initialisieren
BarCodeReader reader = new BarCodeReader(dataDir + "Code39Std.png", DecodeType.ALL_SUPPORTED_TYPES);
// Barcode lesen
for (BarCodeResult result : reader.readBarCodes()) {
if (result.getRegion() != null) {
// Zeigen Sie die x- und y-Koordinaten aller erkannten Barcodes an
Point[] point = result.getRegion().getPoints();
System.out.println("Top left coordinates: X = " + point[0].x + ", Y = " + point[0].y);
System.out.println("Bottom left coordinates: X = " + point[1].x + ", Y = " + point[1].y);
System.out.println("Bottom right coordinates: X = " + point[2].x + ", Y = " + point[2].y);
System.out.println("Top right coordinates: X = " + point[3].x + ", Y = " + point[3].y);
}
}
Lesen Sie den Barcode aus einem bestimmten Bildbereich in Java
Wir können einen Barcode aus einer bestimmten Region oder einem Bereich eines Bildes lesen, indem wir die folgenden Schritte ausführen:
- Lesen Sie zunächst die Pufferdaten einer Bilddatei mit der Methode ImageIO.read().
- Erstellen Sie als Nächstes eine Instanz der BarCodeReader-Klasse. Als Argumente werden ein gepuffertes Bild, ein rechteckiger Bereich und ein Decodierungstyp verwendet.
- Rufen Sie danach die Erkennungsergebnisse im Objekt der Klasse BarCodeResult mit der Methode readBarCodes() ab.
- Durchlaufen Sie abschließend die Ergebnisse und zeigen Sie Typ und Text des Barcodes an.
Das folgende Codebeispiel zeigt, wie ein Barcode aus einem bestimmten Bereich eines Bildes mit Java gelesen wird.
// Dieses Codebeispiel zeigt, wie Barcodes aus bestimmten Bereichen eines Bildes gelesen werden.
// Der Pfad zum Bildverzeichnis
String dataDir = "C:\\Files\\BarCode\\";
// Holen Sie sich BufferedImage
java.awt.image.BufferedImage img = javax.imageio.ImageIO.read(new java.io.File(dataDir + "specificRegion.png"));
// Erstellen Sie eine Instanz der BarCodeReader-Klasse
// und geben Sie einen Bereich an, in dem nach dem Barcode gesucht werden soll
BarCodeReader reader = new BarCodeReader(img, new Rectangle(0, 0, 700, 100), DecodeType.ALL_SUPPORTED_TYPES);
// Lesen Sie alle Barcodes im dafür vorgesehenen Bereich
for (BarCodeResult result : reader.readBarCodes()) {
System.out.println("CodeText: " + result.getCodeText());
System.out.println("Symbology type: " + result.getCodeType());
}
Holen Sie sich eine kostenlose Lizenz
Sie können eine kostenlose temporäre Lizenz erhalten, um die Bibliothek ohne Evaluierungseinschränkungen zu testen.
Fazit
In diesem Artikel haben wir gelernt, wie man:
- Barcode-Bild programmgesteuert laden;
- Barcodes verschiedener Typen anhand eines Bildes erkennen;
- Barcode-Koordinaten in Java lesen;
- mehrere Barcodes auf einem einzigen Bild erkennen und lesen;
- Barcodes aus einem bestimmten Bereich eines Bildes erkennen und lesen.
Außerdem können Sie mithilfe der Dokumentation mehr über Aspose.BarCode for Java API erfahren. Bei Unklarheiten können Sie uns gerne im Forum kontaktieren.