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.
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:
- Carica l'immagine usando OpenCV imread funzione. Questo restituisce un'istanza di numpy.ndarray.
- 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.