Čá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.

instagram viewer
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.