Barcodes sind ein alltäglicher Anblick in unserem täglichen Leben. Mit nur wenigen einfachen Schritten können Sie mit Python mühelos Barcodes generieren und scannen.

Wenn Sie einen Artikel in einem Geschäft kaufen, werden die parallelen schwarzen Streifen unterschiedlicher Breite auf dem von Ihnen gekauften Artikel als Barcode bezeichnet. Barcodes sind eine Methode zur Darstellung von Daten in einem visuellen, maschinenlesbaren Format. Barcodes werden zum Speichern von Informationen über Produkte zur einfachen Identifizierung und Nachverfolgung verwendet. Verschiedene Branchen nutzen Barcodes für die Bestandsverwaltung.

Mit Python können Sie Barcodes generieren, den Inhalt eines Barcodes scannen und lesen.

So generieren und passen Sie Barcodes an

Die folgenden Schritte zeigen, wie Sie Barcodes mit erstellen Python-Barcode Bibliothek.

1. Installieren Sie die erforderliche Bibliothek

Öffnen Sie Ihr Terminal oder Eingabeaufforderung und führen Sie den folgenden pip-Befehl aus, um die erforderliche Bibliothek zu installieren. Stellen Sie sicher, dass Pip auf Ihrem Computer installiert ist.

instagram viewer
pip install python-barcode

2. Importieren Sie die erforderlichen Module

Fügen Sie in Ihr Skript die folgenden Importanweisungen ein, um die für die Barcode-Generierung erforderlichen Module zu importieren.

import barcode
from the barcode.writer import ImageWriter

Schriftsteller übernehmen die Generierung und Speicherung von Barcode-Bildern in verschiedenen Formaten. Der Python-Barcode Die Bibliothek bietet verschiedene Barcode-Schreiber. Hier werden Sie das verwenden ImageWriter Klasse, die Barcodes als Bilder rendert.

3. Code zum Generieren eines Barcodes

Der Python-Barcode Die Bibliothek bietet verschiedene Barcodeformate wie Code39, Code128, EAN13 und ISBN-10 zur Generierung von Barcodes.

defgenerate_barcode(data, barcode_format, options=None):
# Get the barcode class corresponding to the specified format
barcode_class = barcode.get_barcode_class(barcode_format)
# Create a barcode image using the provided data and format
barcode_image = barcode_class(data, writer=ImageWriter())
# Save the barcode image to a file named "barcode" with the specified options
barcode_image.save("barcode", options=options)

Der generieren_barcode Die Funktion generiert einen Barcode basierend auf dem angegebenen Daten und Format (barcode_format) und speichert das Barcodebild in einer Datei, barcode.png. Die Dateierweiterung hängt von der verwendeten Writer-Klasse ab.

4. Barcode generieren und anpassen

Um einen Barcode zu generieren, rufen Sie die auf generieren_barcode Funktion und übergeben Sie die erforderlichen Parameter.

generate_barcode("MakeUseOf", "code128")

Autoren nutzen mehrere Optionen, mit denen Sie Barcodes anpassen können. Zu den Anpassungsoptionen gehört das Ändern der Größe, Schriftart, Farbe des Barcodes usw. Sie können sich auf die beziehen Python-Barcode Dokumentation, um auf die vollständige Liste der gängigen Writer-Optionen zuzugreifen.


generate_barcode("MakeUseOf", "code128", options={"foreground":"red",
"center_text": False,
"module_width":0.4,
"module_height":20})

So scannen und dekodieren Sie Barcodes

Die folgenden Schritte zeigen, wie Sie Barcodes mit Python scannen und dekodieren pyzbar Bibliothek.

1. Installieren Sie die erforderlichen Bibliotheken

Um Barcodes zu scannen und zu dekodieren, müssen Sie die folgenden Bibliotheken installieren:

brew install zbar # Mac OS X
sudo apt-get install libzbar0 # Linux OS
pip install pyzbar opencv-python

2. Importieren Sie die erforderlichen Module

Fügen Sie nach der Installation der Bibliotheken die folgenden Importanweisungen zu Ihrem Skript hinzu, um die erforderlichen Module zu importieren.

import cv2
from pyzbar import pyzbar

3. Scannen Sie Barcodes aus Bildern

So scannen Sie Barcodes aus Bilddateien:

  1. Laden Sie das Bild mit OpenCVs imread Funktion. Dies gibt eine Instanz von zurück numpy.ndarray.
  2. Übergeben Sie das Ausgabearray an pyzbar.decode zur Erkennung und Dekodierung. Sie können auch Instanzen von übergeben PIL.Bild.
defscan_barcode_from_image(image_path):
# Read the image from the provided file path
image = cv2.imread(image_path)
# Decode barcodes from the image using pyzbar
barcodes = pyzbar.decode(image)
# Iterate through detected barcodes and extract data from the barcode
for barcode in barcodes:
# uses UTF-8 encoding
barcode_data = barcode.data.decode("utf-8")
barcode_type = barcode.type
print("Barcode Data:", barcode_data)
print("Barcode Type:", barcode_type)

Die Funktion benötigt eine Bildpfad Parameter, liest das Bild, dekodiert alle im Bild vorhandenen Barcodes und druckt die dekodierten Daten und den Barcodetyp für jeden erkannten Barcode aus.

scan_barcode_from_image("barcode.png")
> Barcode Data: MakeUseOf
> Barcode Type: CODE128

4. Scannen Sie Barcodes aus dem Webcam-Stream

Mithilfe der Python OpenCV-Bibliothek können Sie Barcodes auch in Echtzeit aus einem Webcam-Stream scannen und lesen.

defscan_barcode_from_webcam():
# Initialize video capture from the default webcam (index 0)
video_capture = cv2.VideoCapture(0)

whileTrue:
# Get a frame from the webcam stream
_, frame = video_capture.read()

# Decode barcodes in the frame
barcodes = pyzbar.decode(frame)

# Process detected barcodes
for barcode in barcodes:
# Extract barcode data and type and print them
barcode_data = barcode.data.decode("utf-8")
barcode_type = barcode.type
print("Barcode Data:", barcode_data)
print("Barcode Type:", barcode_type)

# Check for exit condition: Press 'q' to quit the loop
if cv2.waitKey(1) & 0xFF == ord("q"):
break

# Release video capture and close OpenCV windows
video_capture.release()
cv2.destroyAllWindows()

scan_barcode_from_webcam()

Der scan_barcode_from_webcam Die Funktion erfasst kontinuierlich Frames von der Webcam, dekodiert alle im Frame vorhandenen Barcodes, extrahiert Informationen über den Barcode und druckt die Informationen aus. Um den Vorgang zu beenden, drücken Sie den Buchstaben q auf Ihrer Tastatur.

Generieren von Barcodes und QR-Codes in Python

Mit Python wird das Generieren und Lesen von Barcodes zugänglich und effizient. Wenn Sie die beschriebenen Schritte befolgen, können Sie eine Vielzahl von Barcodes generieren, die Ihren Anforderungen entsprechen.

QR-Codes (Quick Response Codes) sind zweidimensionale Barcodes, die von Smartphones, Tablets oder anderen Geräten, die mit einer Kamera und einer QR-Code-Leseanwendung ausgestattet sind, gescannt und gelesen werden können. Mit der Python-Qrcode-Bibliothek können Sie QR-Codes effizient generieren, scannen und lesen.