Čiarové kódy sú bežným javom v našom každodennom živote. Pomocou niekoľkých jednoduchých krokov môžete bez námahy generovať a skenovať čiarové kódy pomocou Pythonu.

Keď si kúpite položku v obchode, paralelné čierne pruhy rôznej šírky na položke, ktorú kupujete, sa nazývajú čiarový kód. Čiarové kódy predstavujú metódu reprezentácie údajov vo vizuálnom, strojovo čitateľnom formáte. Čiarové kódy sa používajú na ukladanie informácií o produktoch pre jednoduchú identifikáciu a sledovanie. Rôzne odvetvia používajú čiarové kódy na riadenie zásob.

Pomocou Pythonu môžete generovať čiarové kódy, skenovať a čítať obsah čiarového kódu.

Ako generovať a prispôsobovať čiarové kódy

Nasledujúce kroky ukazujú, ako generovať čiarové kódy pomocou python-čiarový kód knižnica.

1. Nainštalujte požadovanú knižnicu

Otvorte svoj terminál alebo príkazový riadok a spustite nasledujúci príkaz pip na inštaláciu požadovanej knižnice. Uistite sa, že máte na svojom počítači nainštalovaný pip.

pip install python-barcode

2. Importujte požadované moduly

instagram viewer

Do svojho skriptu zahrňte nasledujúce príkazy importu na importovanie modulov potrebných na generovanie čiarového kódu.

import barcode
from the barcode.writer import ImageWriter

Spisovatelia zvládnuť generovanie a ukladanie obrázkov čiarových kódov v rôznych formátoch. The python-čiarový kód knižnica poskytuje rôzne zapisovače čiarových kódov. Tu použijete ImageWriter trieda, ktorá vykresľuje čiarové kódy ako obrázky.

3. Kód na generovanie čiarového kódu

The python-čiarový kód knižnica ponúka rôzne formáty čiarových kódov, ako napríklad Code39, Code128, EAN13 a ISBN-10 na generovanie čiarových kódov.

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)

The vygenerovať_čiarový kód funkcia vygeneruje čiarový kód na základe daného údajov a formát (čiarový kód_formát) a uloží obrázok čiarového kódu do súboru, čiarový kód.png. Prípona súboru závisí od triedy zapisovača, ktorú používate.

4. Generovať a prispôsobiť čiarový kód

Ak chcete vygenerovať čiarový kód, zavolajte na vygenerovať_čiarový kód funkciu a odovzdať požadované parametre.

generate_barcode("MakeUseOf", "code128")

Autori používajú niekoľko možností, ktoré vám umožňujú prispôsobiť čiarové kódy. Možnosti prispôsobenia zahŕňajú úpravu veľkosti, písma, farby čiarového kódu atď. Môžete sa odvolať na python-čiarový kód dokumentáciu, aby ste získali prístup k úplnému zoznamu bežných možností zapisovača.


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

Ako skenovať a dekódovať čiarové kódy

Nasledujúce kroky ukazujú, ako skenovať a dekódovať čiarové kódy pomocou Pythonu pyzbar knižnica.

1. Nainštalujte požadované knižnice

Ak chcete skenovať a dekódovať čiarové kódy, musíte si nainštalovať nasledujúce knižnice:

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

2. Importujte požadované moduly

Po nainštalovaní knižníc pridajte do svojho skriptu nasledujúce príkazy na import, aby ste naimportovali potrebné moduly.

import cv2
from pyzbar import pyzbar

3. Skenujte čiarové kódy z obrázkov

Skenovanie čiarových kódov z obrázkových súborov:

  1. Načítajte obrázok pomocou OpenCV imread funkciu. Toto vráti inštanciu numpy.ndarray.
  2. Odovzdajte výstupné pole do pyzbar.decode na detekciu a dekódovanie. Môžete tiež odovzdať inštancie PIL.Obrázok.
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)

Funkcia trvá an cesta k obrázku prečíta obrázok, dekóduje všetky čiarové kódy prítomné na obrázku a vytlačí dekódované údaje a typ čiarového kódu pre každý rozpoznaný čiarový kód.

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

4. Skenujte čiarové kódy zo streamu webovej kamery

Môžete tiež skenovať a čítať čiarové kódy v reálnom čase zo streamu webovej kamery pomocou knižnice 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()

The scan_barcode_from_webcam funkcia nepretržite zachytáva snímky z webovej kamery, dekóduje všetky čiarové kódy prítomné v snímke, extrahuje informácie o čiarovom kóde a informácie vytlačí. Pre ukončenie stlačte písmeno q na klávesnici.

Generovanie čiarových kódov a QR kódov v Pythone

S Pythonom je generovanie a čítanie čiarových kódov prístupné a efektívne. Podľa uvedených krokov môžete vygenerovať rôzne čiarové kódy, ktoré budú vyhovovať vašim potrebám.

QR kódy (Quick Response codes) sú dvojrozmerné čiarové kódy, ktoré dokážu naskenovať a prečítať smartfóny, tablety alebo iné zariadenia vybavené fotoaparátom a aplikáciou na čítanie QR kódov. Pomocou knižnice Python qrcode môžete efektívne generovať, skenovať a čítať QR kódy.