Barcodes zijn een normaal verschijnsel in ons dagelijks leven. Met slechts een paar eenvoudige stappen kunt u moeiteloos barcodes genereren en scannen met behulp van Python.

Wanneer u een artikel in een winkel koopt, worden de parallelle zwarte strepen van verschillende breedtes op het artikel dat u koopt streepjescode genoemd. Barcodes zijn een methode om gegevens weer te geven in een visueel, machinaal leesbaar formaat. Streepjescodes worden gebruikt om informatie over producten op te slaan voor gemakkelijke identificatie en tracking. Verschillende industrieën gebruiken barcodes voor voorraadbeheer.

Met behulp van Python kunt u barcodes genereren, scannen en de inhoud van een barcode lezen.

Barcodes genereren en aanpassen

De volgende stappen laten zien hoe u streepjescodes kunt genereren met behulp van de python-streepjescode bibliotheek.

1. Installeer de vereiste bibliotheek

Open uw terminal of opdrachtprompt en voer de volgende pip-opdracht uit om de vereiste bibliotheek te installeren. Zorg ervoor dat pip op uw computer is geïnstalleerd.

instagram viewer
pip install python-barcode

2. Importeer de vereiste modules

Neem in uw script de volgende importinstructies op om de modules te importeren die nodig zijn voor het genereren van streepjescodes.

import barcode
from the barcode.writer import ImageWriter

Schrijvers omgaan met het genereren en opslaan van barcode-afbeeldingen in verschillende formaten. De python-streepjescode bibliotheek biedt verschillende barcodeschrijvers. Hier ga je de gebruiken ImageWriter klasse die streepjescodes weergeeft als afbeeldingen.

3. Code om streepjescode te genereren

De python-streepjescode library biedt verschillende barcodeformaten, zoals Code39, Code128, EAN13 en ISBN-10 voor het genereren van 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)

De genereer_streepjescode functie genereert een streepjescode op basis van het gegeven gegevens en formaat (streepjescode_formaat) en slaat de afbeelding van de streepjescode op in een bestand, streepjescode.png. De bestandsextensie hangt af van de schrijversklasse die u gebruikt.

4. Streepjescode genereren en aanpassen

Om een ​​streepjescode te genereren, belt u de genereer_streepjescode functie en geef de vereiste parameters door.

generate_barcode("MakeUseOf", "code128")

Schrijvers nemen verschillende opties waarmee u streepjescodes kunt aanpassen. Aanpassingsopties omvatten het wijzigen van de grootte, het lettertype, de kleur van de streepjescode, enzovoort. U kunt verwijzen naar de python-streepjescode documentatie om toegang te krijgen tot de volledige lijst met algemene schrijfopties.


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

Barcodes scannen en decoderen

De volgende stappen laten zien hoe u streepjescodes kunt scannen en decoderen met behulp van Python pyzbar bibliotheek.

1. Installeer de vereiste bibliotheken

Om barcodes te scannen en te decoderen, moet u de volgende bibliotheken installeren:

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

2. Importeer de vereiste modules

Voeg na het installeren van de bibliotheken de volgende importinstructies toe aan uw script om de benodigde modules te importeren.

import cv2
from pyzbar import pyzbar

3. Scan streepjescodes van afbeeldingen

Om streepjescodes van afbeeldingsbestanden te scannen:

  1. Laad de afbeelding met behulp van OpenCV's imlezen functie. Dit retourneert een instantie van numpy.ndarray.
  2. Geef de uitvoerarray door aan pyzbar.decode voor detectie en decodering. U kunt ook instanties van doorgeven PIL.Afbeelding.
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)

De functie duurt een afbeelding_pad parameter, leest de afbeelding, decodeert alle streepjescodes die in de afbeelding aanwezig zijn en drukt de gedecodeerde gegevens en het type streepjescode af voor elke gedetecteerde streepjescode.

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

4. Scan streepjescodes van webcamstream

U kunt ook in real-time barcodes scannen en lezen vanaf een webcamstream met behulp van de Python OpenCV-bibliotheek.

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()

De scan_barcode_van_webcam De functie legt continu frames vast van de webcam, decodeert alle streepjescodes die in het frame aanwezig zijn, extraheert informatie over de streepjescode en drukt de informatie af. Om te stoppen drukt u op de letter q op uw toetsenbord.

Streepjescodes en QR-codes genereren in Python

Met Python wordt het genereren en lezen van barcodes laagdrempelig en efficiënt. Door de beschreven stappen te volgen, kunt u verschillende streepjescodes genereren om aan uw behoeften te voldoen.

QR-codes (Quick Response-codes) zijn tweedimensionale streepjescodes die kunnen worden gescand en gelezen door smartphones, tablets of andere apparaten die zijn uitgerust met een camera en een QR-codelezer. Met behulp van de Python qrcode-bibliotheek kunt u efficiënt QR-codes genereren, scannen en lezen.