Les codes-barres sont monnaie courante dans notre vie quotidienne. En quelques étapes simples, vous pouvez facilement générer et numériser des codes-barres à l'aide de Python.

Lorsque vous achetez un article dans un magasin, les bandes noires parallèles de largeurs variables sur l'article que vous achetez sont appelées code-barres. Les codes-barres sont une méthode de représentation des données dans un format visuel lisible par machine. Les codes-barres sont utilisés pour stocker des informations sur les produits afin de faciliter leur identification et leur suivi. Diverses industries utilisent des codes-barres pour la gestion des stocks.

En utilisant Python, vous pouvez générer des codes-barres, numériser et lire le contenu d'un code-barres.

Comment générer et personnaliser des codes-barres

Les étapes suivantes montrent comment générer des codes-barres à l'aide de code-barres python bibliothèque.

1. Installer la bibliothèque requise

Ouvrez votre borne ou invite de commande et exécutez la commande pip suivante pour installer la bibliothèque requise.

Assurez-vous que pip est installé sur votre machine.

pip install python-barcode

2. Importer les modules requis

Dans votre script, incluez les instructions d'importation suivantes pour importer les modules nécessaires à la génération de codes-barres.

import barcode
from the barcode.writer import ImageWriter

Écrivains gérer la génération et l'enregistrement d'images de codes-barres dans différents formats. Le code-barres python bibliothèque fournit différents écrivains de codes à barres. Ici, vous allez utiliser le ImageWriter classe qui rend les codes-barres sous forme d'images.

3. Code pour générer un code-barres

Le code-barres python La bibliothèque propose différents formats de codes-barres, tels que Code39, Code128, EAN13 et ISBN-10 pour générer des codes-barres.

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)

Le générer_codebarre fonction génère un code-barres basé sur la donnée données et formater (format_code_barres) et enregistre l'image du code-barres dans un fichier, code-barres.png. L'extension de fichier dépend de la classe d'écriture que vous utilisez.

4. Générer et personnaliser le code-barres

Pour générer un code-barres, appelez le générer_codebarre fonction et passez les paramètres requis.

generate_barcode("MakeUseOf", "code128")

Les écrivains prennent plusieurs options qui vous permettent de personnaliser les codes-barres. Les options de personnalisation incluent la modification de la taille, de la police, de la couleur du code-barres, etc. Vous pouvez vous référer au code-barres python documentation pour accéder à la liste complète des options d'écriture courantes.


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

Comment scanner et décoder les codes-barres

Les étapes suivantes montrent comment numériser et décoder des codes-barres à l'aide de Python pyzbar bibliothèque.

1. Installer les bibliothèques requises

Pour scanner et décoder les codes-barres, vous devez installer les bibliothèques suivantes :

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

2. Importer les modules requis

Après avoir installé les bibliothèques, ajoutez les instructions d'importation suivantes à votre script pour importer les modules nécessaires.

import cv2
from pyzbar import pyzbar

3. Scanner les codes-barres à partir d'images

Pour numériser des codes-barres à partir de fichiers image :

  1. Charger l'image à l'aide d'OpenCV imlu fonction. Cela renvoie une instance de numpy.ndarray.
  2. Passez le tableau de sortie à pyzbar.decode pour la détection et le décodage. Vous pouvez également passer des instances de PIL.Image.
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)

La fonction prend une image_path paramètre, lit l'image, décode tous les codes-barres présents dans l'image et imprime les données décodées et le type de code-barres pour chaque code-barres détecté.

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

4. Scanner les codes-barres à partir du flux de webcam

Vous pouvez également numériser et lire des codes-barres en temps réel à partir d'un flux de webcam à l'aide de la bibliothèque Python OpenCV.

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

Le scan_barcode_from_webcam capture en continu les images de la webcam, décode tous les codes-barres présents dans l'image, extrait des informations sur le code-barres et imprime les informations. Pour quitter, appuyez sur la lettre q de votre clavier.

Génération de codes-barres et de codes QR en Python

Avec Python, générer et lire des codes-barres devient accessible et efficace. En suivant les étapes décrites, vous pouvez générer une variété de codes-barres en fonction de vos besoins.

Les codes QR (Quick Response codes) sont des codes-barres bidimensionnels qui peuvent être scannés et lus par des smartphones, des tablettes ou d'autres appareils équipés d'un appareil photo et d'une application de lecture de code QR. En utilisant la bibliothèque Python qrcode, vous pouvez générer, numériser et lire efficacement des codes QR.