Stregkoder er et almindeligt syn i vores daglige liv. Med blot et par enkle trin kan du nemt generere og scanne stregkoder ved hjælp af Python.
Når du køber en vare i en butik, kaldes de parallelle sorte striber af varierende bredde på den vare, du køber, stregkode. Stregkoder er en metode til at repræsentere data i et visuelt, maskinlæsbart format. Stregkoder bruges til at gemme information om produkter for nem identifikation og sporing. Forskellige industrier bruger stregkoder til lagerstyring.
Ved hjælp af Python kan du generere stregkoder, scanne og læse indholdet af en stregkode.
Sådan genereres og tilpasses stregkoder
De følgende trin viser, hvordan du genererer stregkoder ved hjælp af python-stregkode bibliotek.
1. Installer det påkrævede bibliotek
Åbn din terminal eller kommandoprompt og kør følgende pip-kommando for at installere det nødvendige bibliotek. Sørg for, at du har pip installeret på din maskine.
pip install python-barcode
2. Importer de nødvendige moduler
I dit script skal du inkludere følgende importerklæringer for at importere de moduler, der er nødvendige for generering af stregkoder.
import barcode
from the barcode.writer import ImageWriter
Forfattere håndtere generering og lagring af stregkodebilleder i forskellige formater. Det python-stregkode biblioteket tilbyder forskellige stregkodeskrivere. Her skal du bruge ImageWriter klasse, der gengiver stregkoder som billeder.
3. Kode til at generere stregkode
Det python-stregkode bibliotek tilbyder forskellige stregkodeformater, såsom Code39, Code128, EAN13 og ISBN-10 til generering af stregkoder.
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)
Det generere_stregkode funktion genererer en stregkode baseret på det givne data og format (stregkodeformat) og gemmer stregkodebilledet til en fil, stregkode.png. Filtypenavnet afhænger af den forfatterklasse, du bruger.
4. Generer og tilpas stregkode
For at generere en stregkode skal du ringe til generere_stregkode funktion og videregive de nødvendige parametre.
generate_barcode("MakeUseOf", "code128")
Forfattere tager flere muligheder, der giver dig mulighed for at tilpasse stregkoder. Tilpasningsmuligheder omfatter ændring af størrelse, skrifttype, farve på stregkoden og så videre. Du kan henvise til python-stregkode dokumentation for at få adgang til den komplette liste over almindelige skrivemuligheder.
generate_barcode("MakeUseOf", "code128", options={"foreground":"red",
"center_text": False,
"module_width":0.4,
"module_height":20})
Sådan scannes og afkodes stregkoder
De følgende trin viser, hvordan du scanner og afkoder stregkoder ved hjælp af Python pyzbar bibliotek.
1. Installer de nødvendige biblioteker
For at scanne og afkode stregkoder skal du installere følgende biblioteker:
brew install zbar # Mac OS X
sudo apt-get install libzbar0 # Linux OS
pip install pyzbar opencv-python
2. Importer de nødvendige moduler
Når du har installeret bibliotekerne, skal du tilføje følgende importsætninger til dit script for at importere de nødvendige moduler.
import cv2
from pyzbar import pyzbar
3. Scan stregkoder fra billeder
Sådan scanner du stregkoder fra billedfiler:
- Indlæs billedet ved hjælp af OpenCV'er imread fungere. Dette returnerer en forekomst af numpy.ndarray.
- Send output-arrayet til pyzbar.decode til detektering og afkodning. Du kan også videregive forekomster af PIL.Billede.
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)
Funktionen tager en image_path parameter, læser billedet, afkoder eventuelle stregkoder på billedet og udskriver de afkodede data og stregkodetype for hver detekterede stregkode.
scan_barcode_from_image("barcode.png")
> Barcode Data: MakeUseOf
> Barcode Type: CODE128
4. Scan stregkoder fra Webcam Stream
Du kan også scanne og læse stregkoder i realtid fra en webcam-stream ved hjælp af Python OpenCV-biblioteket.
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()
Det scan_stregkode_fra_webkamera Funktionen fanger kontinuerligt rammer fra webkameraet, afkoder eventuelle stregkoder i rammen, udtrækker information om stregkoden og udskriver oplysningerne. For at afslutte skal du trykke på bogstavet q på dit tastatur.
Generering af stregkoder og QR-koder i Python
Med Python bliver generering og læsning af stregkoder tilgængelig og effektiv. Ved at følge de skitserede trin kan du generere en række stregkoder, der passer til dine behov.
QR-koder (Quick Response-koder) er todimensionelle stregkoder, der kan scannes og læses af smartphones, tablets eller andre enheder udstyret med et kamera og en QR-kodelæserapplikation. Ved at bruge Python qrcode-biblioteket kan du generere, scanne og læse QR-koder effektivt.