Čárové kódy jsou běžným jevem v našem každodenním životě. Pomocí několika jednoduchých kroků můžete bez námahy generovat a skenovat čárové kódy pomocí Pythonu.

Když si koupíte položku v obchodě, paralelní černé pruhy různé šířky na položce, kterou kupujete, se nazývají čárový kód. Čárové kódy jsou metodou reprezentace dat ve vizuálním, strojově čitelném formátu. Čárové kódy se používají k ukládání informací o produktech pro snadnou identifikaci a sledování. Různá průmyslová odvětví používají čárové kódy pro řízení zásob.

Pomocí Pythonu můžete generovat čárové kódy, skenovat a číst obsah čárového kódu.

Jak generovat a přizpůsobovat čárové kódy

Následující kroky ukazují, jak generovat čárové kódy pomocí python-čárový kód knihovna.

1. Nainstalujte požadovanou knihovnu

Otevřete terminál nebo příkazový řádek a spusťte následující příkaz pip k instalaci požadované knihovny. Ujistěte se, že máte na svém počítači nainstalovaný pip.

pip install python-barcode

2. Importujte požadované moduly

Do skriptu zahrňte následující příkazy importu pro import modulů potřebných pro generování čárového kódu.

import barcode
from the barcode.writer import ImageWriter

Spisovatelé zvládnout generování a ukládání obrázků čárových kódů v různých formátech. The python-čárový kód knihovna poskytuje různé zapisovače čárových kódů. Zde použijete ImageWriter třída, která vykresluje čárové kódy jako obrázky.

3. Kód pro generování čárového kódu

The python-čárový kód knihovna nabízí různé formáty čárových kódů, jako je Code39, Code128, EAN13 a ISBN-10 pro generování čárových kódů.

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 vygenerovat_čárový kód funkce generuje čárový kód na základě daného data a formát (formát_čárového kódu) a uloží obrázek čárového kódu do souboru, čárový kód.png. Přípona souboru závisí na třídě zapisovače, kterou používáte.

4. Generování a přizpůsobení čárového kódu

Chcete-li vygenerovat čárový kód, zavolejte na vygenerovat_čárový kód funkci a předat požadované parametry.

generate_barcode("MakeUseOf", "code128")

Autoři používají několik možností, které vám umožní přizpůsobit čárové kódy. Možnosti přizpůsobení zahrnují úpravu velikosti, písma, barvy čárového kódu a tak dále. Můžete odkazovat na python-čárový kód dokumentaci pro přístup k úplnému seznamu běžných možností zapisovače.


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

Jak skenovat a dekódovat čárové kódy

Následující kroky ukazují, jak skenovat a dekódovat čárové kódy pomocí Pythonu pyzbar knihovna.

1. Nainstalujte požadované knihovny

Chcete-li skenovat a dekódovat čárové kódy, musíte nainstalovat následující knihovny:

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

2. Importujte požadované moduly

Po instalaci knihoven přidejte do skriptu následující příkazy importu, abyste naimportovali potřebné moduly.

import cv2
from pyzbar import pyzbar

3. Skenujte čárové kódy z obrázků

Chcete-li skenovat čárové kódy z obrazových souborů:

  1. Načtěte obrázek pomocí OpenCV přečteno funkce. To vrátí instanci numpy.ndarray.
  2. Předejte výstupní pole do pyzbar.decode pro detekci a dekódování. Můžete také předat instance PIL.Obrázek.
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)

Funkce trvá an cesta k obrázku parametr, načte obrázek, dekóduje všechny čárové kódy přítomné v obrázku a vytiskne dekódovaná data a typ čárového kódu pro každý detekovaný čárový kód.

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

4. Skenujte čárové kódy ze streamu webové kamery

Můžete také skenovat a číst čárové kódy v reálném čase ze streamu webové kamery pomocí knihovny 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 Funkce nepřetržitě zachycuje snímky z webové kamery, dekóduje všechny čárové kódy přítomné v snímku, extrahuje informace o čárovém kódu a vytiskne informace. Pro ukončení stiskněte písmeno q na klávesnici.

Generování čárových kódů a QR kódů v Pythonu

S Pythonem je generování a čtení čárových kódů přístupné a efektivní. Podle uvedených kroků můžete vygenerovat různé čárové kódy, které budou vyhovovat vašim potřebám.

QR kódy (Quick Response codes) jsou dvourozměrné čárové kódy, které lze naskenovat a přečíst chytrými telefony, tablety nebo jinými zařízeními vybavenými fotoaparátem a aplikací pro čtení QR kódů. Pomocí knihovny Python qrcode můžete efektivně generovat, skenovat a číst QR kódy.