Οι γραμμωτοί κώδικες είναι ένα κοινό θέαμα στην καθημερινή μας ζωή. Με μερικά απλά βήματα, μπορείτε να δημιουργήσετε και να σαρώσετε χωρίς κόπο γραμμικούς κώδικες χρησιμοποιώντας την Python.
Όταν αγοράζετε ένα προϊόν από ένα κατάστημα, οι παράλληλες μαύρες λωρίδες διαφορετικού πλάτους στο προϊόν που αγοράζετε ονομάζονται γραμμωτός κώδικας. Οι γραμμωτοί κώδικες είναι μια μέθοδος αναπαράστασης δεδομένων σε οπτική, μηχανικά αναγνώσιμη μορφή. Οι γραμμωτοί κώδικες χρησιμοποιούνται για την αποθήκευση πληροφοριών σχετικά με προϊόντα για εύκολη αναγνώριση και παρακολούθηση. Διάφορες βιομηχανίες χρησιμοποιούν γραμμωτούς κώδικες για τη διαχείριση αποθεμάτων.
Χρησιμοποιώντας την Python μπορείτε να δημιουργήσετε γραμμωτούς κώδικες, να σαρώσετε και να διαβάσετε το περιεχόμενο ενός γραμμικού κώδικα.
Πώς να δημιουργήσετε και να προσαρμόσετε γραμμωτούς κώδικες
Τα παρακάτω βήματα δείχνουν πώς μπορείτε να δημιουργήσετε γραμμικούς κώδικες χρησιμοποιώντας το python-barcode βιβλιοθήκη.
1. Εγκαταστήστε την Απαιτούμενη βιβλιοθήκη
Ανοίξτε το τερματικό σας ή στη γραμμή εντολών και εκτελέστε την ακόλουθη εντολή pip για να εγκαταστήσετε την απαιτούμενη βιβλιοθήκη. Βεβαιωθείτε ότι έχετε εγκαταστήσει το pip στο μηχάνημά σας.
pip install python-barcode
2. Εισαγάγετε τις Απαιτούμενες Ενότητες
Στο σενάριο σας, συμπεριλάβετε τις ακόλουθες δηλώσεις εισαγωγής για να εισαγάγετε τις μονάδες που απαιτούνται για τη δημιουργία γραμμωτού κώδικα.
import barcode
from the barcode.writer import ImageWriter
Συγγραφείς χειρίζεται τη δημιουργία και την αποθήκευση εικόνων γραμμωτού κώδικα σε διαφορετικές μορφές. ο python-barcode Η βιβλιοθήκη παρέχει διαφορετικούς γραμμωτούς κώδικες. Εδώ θα χρησιμοποιήσετε το ImageWriter κλάση που αποδίδει τους γραμμωτούς κώδικες ως εικόνες.
3. Κωδικός για τη δημιουργία γραμμωτού κώδικα
ο python-barcode Η βιβλιοθήκη προσφέρει διάφορες μορφές γραμμωτού κώδικα, όπως Code39, Code128, EAN13 και ISBN-10 για τη δημιουργία γραμμωτών κωδίκων.
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)
ο generate_barcode η συνάρτηση δημιουργεί έναν γραμμωτό κώδικα με βάση το δεδομένο δεδομένα και μορφή (barcode_format) και αποθηκεύει την εικόνα του γραμμικού κώδικα σε ένα αρχείο, barcode.png. Η επέκταση αρχείου εξαρτάται από την κλάση του συγγραφέα που χρησιμοποιείτε.
4. Δημιουργία και προσαρμογή γραμμικού κώδικα
Για να δημιουργήσετε έναν γραμμωτό κώδικα, καλέστε το generate_barcode λειτουργία και περάστε τις απαιτούμενες παραμέτρους.
generate_barcode("MakeUseOf", "code128")
Οι συγγραφείς έχουν πολλές επιλογές που σας επιτρέπουν να προσαρμόσετε τους γραμμωτούς κώδικες. Οι επιλογές προσαρμογής περιλαμβάνουν την τροποποίηση του μεγέθους, της γραμματοσειράς, του χρώματος του γραμμωτού κώδικα και ούτω καθεξής. Μπορείτε να ανατρέξετε στο python-barcode τεκμηρίωση για πρόσβαση στην πλήρη λίστα των κοινών επιλογών συγγραφής.
generate_barcode("MakeUseOf", "code128", options={"foreground":"red",
"center_text": False,
"module_width":0.4,
"module_height":20})
Πώς να σαρώσετε και να αποκωδικοποιήσετε γραμμωτούς κώδικες
Τα παρακάτω βήματα δείχνουν πώς να σαρώσετε και να αποκωδικοποιήσετε γραμμικούς κώδικες χρησιμοποιώντας την Python pyzbar βιβλιοθήκη.
1. Εγκαταστήστε τις Απαιτούμενες Βιβλιοθήκες
Για να σαρώσετε και να αποκωδικοποιήσετε γραμμικούς κώδικες, πρέπει να εγκαταστήσετε τις ακόλουθες βιβλιοθήκες:
brew install zbar # Mac OS X
sudo apt-get install libzbar0 # Linux OS
pip install pyzbar opencv-python
2. Εισαγάγετε τις Απαιτούμενες Ενότητες
Μετά την εγκατάσταση των βιβλιοθηκών, προσθέστε τις ακόλουθες δηλώσεις εισαγωγής στο σενάριο σας για να εισαγάγετε τις απαραίτητες λειτουργικές μονάδες.
import cv2
from pyzbar import pyzbar
3. Σάρωση γραμμωτών κωδίκων από εικόνες
Για να σαρώσετε γραμμωτούς κώδικες από αρχεία εικόνας:
- Φορτώστε την εικόνα χρησιμοποιώντας το OpenCV's δεν έχω διαβάσει λειτουργία. Αυτό επιστρέφει ένα παράδειγμα του numpy.ndarray.
- Περάστε τον πίνακα εξόδου στο pyzbar.decode για ανίχνευση και αποκωδικοποίηση. Μπορείτε επίσης να περάσετε περιπτώσεις του ΠΙΛ.Εικόνα.
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)
Η συνάρτηση παίρνει ένα image_path παράμετρο, διαβάζει την εικόνα, αποκωδικοποιεί τυχόν γραμμωτούς κώδικες που υπάρχουν στην εικόνα και εκτυπώνει τα αποκωδικοποιημένα δεδομένα και τον τύπο γραμμικού κώδικα για κάθε γραμμωτό κώδικα που έχει εντοπιστεί.
scan_barcode_from_image("barcode.png")
> Barcode Data: MakeUseOf
> Barcode Type: CODE128
4. Σάρωση γραμμωτών κωδίκων από τη ροή webcam
Μπορείτε επίσης να σαρώσετε και να διαβάσετε γραμμικούς κώδικες σε πραγματικό χρόνο από μια ροή web κάμερας με τη βοήθεια της βιβλιοθήκης 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()
ο scan_barcode_from_webcam Η λειτουργία καταγράφει συνεχώς καρέ από την κάμερα web, αποκωδικοποιεί τυχόν γραμμικούς κώδικες που υπάρχουν στο πλαίσιο, εξάγει πληροφορίες σχετικά με τον γραμμωτό κώδικα και εκτυπώνει τις πληροφορίες. Για έξοδο πατήστε το γράμμα q στο πληκτρολόγιό σας.
Δημιουργία Barcodes και QR Codes στην Python
Με την Python, η δημιουργία και η ανάγνωση γραμμωτών κωδίκων γίνεται προσβάσιμη και αποτελεσματική. Ακολουθώντας τα βήματα που περιγράφονται, μπορείτε να δημιουργήσετε μια ποικιλία από γραμμωτούς κώδικες που ταιριάζουν στις ανάγκες σας.
Οι κωδικοί QR (κωδικοί γρήγορης απόκρισης) είναι δισδιάστατοι γραμμικοί κώδικες που μπορούν να σαρωθούν και να διαβαστούν από smartphone, tablet ή άλλες συσκευές εξοπλισμένες με κάμερα και εφαρμογή ανάγνωσης κωδικών QR. Χρησιμοποιώντας τη βιβλιοθήκη qrcode της Python μπορείτε να δημιουργήσετε, να σαρώσετε και να διαβάσετε αποτελεσματικά Κώδικες QR.