I codici a barre sono una vista comune nella nostra vita quotidiana. Con pochi semplici passaggi, puoi generare e scansionare facilmente codici a barre utilizzando Python.

Quando acquisti un articolo da un negozio, le strisce nere parallele di varie larghezze sull'articolo che acquisti sono chiamate codice a barre. I codici a barre sono un metodo per rappresentare i dati in un formato visivo leggibile dalla macchina. I codici a barre vengono utilizzati per memorizzare informazioni sui prodotti per una facile identificazione e tracciabilità. Vari settori utilizzano i codici a barre per la gestione dell'inventario.

Usando Python puoi generare codici a barre, scansionare e leggere il contenuto di un codice a barre.

Come generare e personalizzare i codici a barre

I passaggi seguenti mostrano come generare codici a barre utilizzando il file codice a barre python biblioteca.

1. Installa la libreria richiesta

Apri il tuo terminale o prompt dei comandi ed eseguire il seguente comando pip per installare la libreria richiesta. Assicurati di avere pip installato sulla tua macchina.

instagram viewer
pip install python-barcode

2. Importa i moduli richiesti

Nello script, includi le seguenti istruzioni di importazione per importare i moduli necessari per la generazione del codice a barre.

import barcode
from the barcode.writer import ImageWriter

Scrittori gestire la generazione e il salvataggio di immagini di codici a barre in diversi formati. IL codice a barre python library fornisce diversi scrittori di codici a barre. Qui userai il ImageWriter class che rende i codici a barre come immagini.

3. Codice per generare codice a barre

IL codice a barre python library offre vari formati di codici a barre, come Code39, Code128, EAN13 e ISBN-10 per la generazione di codici a barre.

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)

IL generate_barcode La funzione genera un codice a barre basato sul dato dati e formato (barcode_format) e salva l'immagine del codice a barre in un file, codice a barre.png. L'estensione del file dipende dalla classe di scrittura utilizzata.

4. Genera e personalizza codici a barre

Per generare un codice a barre, chiama il generate_barcode funzione e passare i parametri richiesti.

generate_barcode("MakeUseOf", "code128")

Gli scrittori prendono diverse opzioni che consentono di personalizzare i codici a barre. Le opzioni di personalizzazione includono la modifica delle dimensioni, del carattere, del colore del codice a barre e così via. Puoi fare riferimento al codice a barre python documentazione per accedere all'elenco completo delle opzioni di scrittura comuni.


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

Come scansionare e decodificare i codici a barre

I passaggi seguenti mostrano come scansionare e decodificare i codici a barre utilizzando Python pyzbar biblioteca.

1. Installa le librerie richieste

Per scansionare e decodificare i codici a barre, è necessario installare le seguenti librerie:

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

2. Importa i moduli richiesti

Dopo aver installato le librerie, aggiungi le seguenti istruzioni di importazione allo script per importare i moduli necessari.

import cv2
from pyzbar import pyzbar

3. Scansiona i codici a barre dalle immagini

Per eseguire la scansione di codici a barre da file immagine:

  1. Carica l'immagine usando OpenCV imread funzione. Questo restituisce un'istanza di numpy.ndarray.
  2. Passa l'array di output a pyzbar.decode per il rilevamento e la decodifica. Puoi anche passare istanze di PIL.Immagine.
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 funzione accetta un percorso_immagine parametro, legge l'immagine, decodifica eventuali codici a barre presenti nell'immagine e stampa i dati decodificati e il tipo di codice a barre per ogni codice a barre rilevato.

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

4. Scansiona i codici a barre dal flusso della webcam

Puoi anche scansionare e leggere i codici a barre in tempo reale da un flusso di webcam con l'aiuto della libreria 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()

IL scan_barcode_from_webcam La funzione acquisisce continuamente frame dalla webcam, decodifica eventuali codici a barre presenti nel frame, estrae informazioni sul codice a barre e stampa le informazioni. Per uscire premere la lettera q sulla tastiera.

Generazione di codici a barre e codici QR in Python

Con Python, la generazione e la lettura di codici a barre diventa accessibile ed efficiente. Seguendo i passaggi descritti, è possibile generare una varietà di codici a barre in base alle proprie esigenze.

I codici QR (codici Quick Response) sono codici a barre bidimensionali che possono essere scansionati e letti da smartphone, tablet o altri dispositivi dotati di fotocamera e di un'applicazione per la lettura di codici QR. Utilizzando la libreria Python qrcode puoi generare, scansionare e leggere i codici QR in modo efficiente.