Strekkoder er et vanlig syn i vårt daglige liv. Med bare noen få enkle trinn kan du enkelt generere og skanne strekkoder ved hjelp av Python.
Når du kjøper en vare fra en butikk, kalles de parallelle svarte stripene med varierende bredde på varen du kjøper strekkode. Strekkoder er en metode for å representere data i et visuelt, maskinlesbart format. Strekkoder brukes til å lagre informasjon om produkter for enkel identifikasjon og sporing. Ulike bransjer bruker strekkoder for lagerstyring.
Ved å bruke Python kan du generere strekkoder, skanne og lese innholdet i en strekkode.
Hvordan generere og tilpasse strekkoder
De følgende trinnene viser hvordan du genererer strekkoder ved hjelp av python-strekkode bibliotek.
1. Installer det nødvendige biblioteket
Åpne terminalen din eller ledetekst og kjør følgende pip-kommando for å installere det nødvendige biblioteket. Sørg for at du har pip installert på maskinen din.
pip install python-barcode
2. Importer de nødvendige modulene
I skriptet ditt inkluderer du følgende importsetninger for å importere modulene som trengs for generering av strekkoder.
import barcode
from the barcode.writer import ImageWriter
Forfattere håndtere generering og lagring av strekkodebilder i forskjellige formater. De python-strekkode biblioteket tilbyr forskjellige strekkodeskrivere. Her skal du bruke ImageWriter klasse som gjengir strekkoder som bilder.
3. Kode for å generere strekkode
De python-strekkode biblioteket tilbyr ulike strekkodeformater, for eksempel Code39, Code128, EAN13 og ISBN-10 for generering av strekkoder.
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)
De generere_strekkode funksjonen genererer en strekkode basert på den gitte data og format (strekkodeformat) og lagrer strekkodebildet til en fil, strekkode.png. Filtypen avhenger av forfatterklassen du bruker.
4. Generer og tilpass strekkode
For å generere en strekkode, ring generere_strekkode funksjon og sende de nødvendige parameterne.
generate_barcode("MakeUseOf", "code128")
Forfattere tar flere alternativer som lar deg tilpasse strekkoder. Tilpasningsalternativer inkluderer å endre størrelsen, fonten, fargen på strekkoden og så videre. Du kan referere til python-strekkode dokumentasjon for å få tilgang til den komplette listen over vanlige skrivealternativer.
generate_barcode("MakeUseOf", "code128", options={"foreground":"red",
"center_text": False,
"module_width":0.4,
"module_height":20})
Hvordan skanne og dekode strekkoder
De følgende trinnene viser hvordan du skanner og dekoder strekkoder ved hjelp av Python pyzbar bibliotek.
1. Installer de nødvendige bibliotekene
For å skanne og dekode strekkoder, må 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 modulene
Etter at du har installert bibliotekene, legg til følgende importsetninger i skriptet for å importere de nødvendige modulene.
import cv2
from pyzbar import pyzbar
3. Skann strekkoder fra bilder
For å skanne strekkoder fra bildefiler:
- Last inn bildet ved hjelp av OpenCV-er imread funksjon. Dette returnerer en forekomst av numpy.ndarray.
- Send utmatrisen til pyzbar.decode for deteksjon og dekoding. Du kan også passere forekomster av 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)
Funksjonen tar en image_path parameter, leser bildet, dekoder eventuelle strekkoder i bildet, og skriver ut de dekodede dataene og strekkodetypen for hver oppdagede strekkode.
scan_barcode_from_image("barcode.png")
> Barcode Data: MakeUseOf
> Barcode Type: CODE128
4. Skann strekkoder fra Webcam Stream
Du kan også skanne og lese strekkoder i sanntid fra en webkamerastrøm ved hjelp av 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()
De scan_barcode_from_webcam funksjonen fanger kontinuerlig opp rammer fra webkameraet, dekoder eventuelle strekkoder i rammen, trekker ut informasjon om strekkoden og skriver ut informasjonen. For å avslutte trykk på bokstaven q på tastaturet.
Generer strekkoder og QR-koder i Python
Med Python blir generering og lesing av strekkoder tilgjengelig og effektiv. Ved å følge trinnene som er skissert, kan du generere en rekke strekkoder som passer dine behov.
QR-koder (Quick Response-koder) er todimensjonale strekkoder som kan skannes og leses av smarttelefoner, nettbrett eller andre enheter utstyrt med et kamera og en QR-kodeleserapplikasjon. Ved å bruke Python qrcode-biblioteket kan du generere, skanne og lese QR-koder effektivt.