A vonalkód mindennapi életünkben gyakori látvány. Néhány egyszerű lépéssel könnyedén generálhat és szkennelhet vonalkódokat a Python használatával.

Amikor megvásárol egy terméket egy boltban, a megvásárolt terméken lévő párhuzamos, különböző szélességű fekete csíkokat vonalkódnak nevezzük. A vonalkódok az adatok vizuális, géppel olvasható formátumban történő megjelenítésének módszerei. A vonalkódok a termékekkel kapcsolatos információk tárolására szolgálnak az egyszerű azonosítás és nyomon követés érdekében. Különböző iparágak vonalkódokat használnak a készletkezeléshez.

A Python segítségével vonalkódokat generálhat, beolvashat és elolvashat egy vonalkód tartalmát.

Vonalkódok generálása és testreszabása

A következő lépések bemutatják, hogyan lehet vonalkódokat generálni a python vonalkód könyvtár.

1. Telepítse a szükséges könyvtárat

Nyissa meg a terminált vagy parancssorba, és futtassa a következő pip parancsot a szükséges könyvtár telepítéséhez. Győződjön meg róla, hogy a pip telepítve van a gépen.

instagram viewer
pip install python-barcode

2. Importálja a szükséges modulokat

A vonalkód generálásához szükséges modulok importálásához vegye fel a parancsfájlba a következő importálási utasításokat.

import barcode
from the barcode.writer import ImageWriter

Írók kezeli a vonalkód képek generálását és mentését különböző formátumokban. A python vonalkód könyvtár különböző vonalkód-írókat biztosít. Itt fogod használni a ImageWriter osztály, amely a vonalkódokat képként jeleníti meg.

3. Kód vonalkód generálásához

A python vonalkód A könyvtár különféle vonalkód-formátumokat kínál, mint például a Code39, Code128, EAN13 és ISBN-10 vonalkódok generálásához.

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)

A gener_vonalkód függvény vonalkódot generál az adott alapján adat és formátum (vonalkód_formátum), és elmenti a vonalkód képet egy fájlba, vonalkód.png. A fájl kiterjesztése a használt íróosztálytól függ.

4. Vonalkód generálása és testreszabása

Vonalkód generálásához hívja a gener_vonalkód funkciót, és adja át a szükséges paramétereket.

generate_barcode("MakeUseOf", "code128")

Az írók számos lehetőséget választanak, amelyek lehetővé teszik a vonalkódok testreszabását. A testreszabási lehetőségek közé tartozik a vonalkód méretének, betűtípusának, színének és így tovább. Hivatkozhat a python vonalkód dokumentációt a gyakori írói beállítások teljes listájának eléréséhez.


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

Vonalkódok beolvasása és dekódolása

A következő lépések bemutatják, hogyan lehet vonalkódokat beolvasni és dekódolni a Python használatával pyzbar könyvtár.

1. Telepítse a szükséges könyvtárakat

A vonalkódok beolvasásához és dekódolásához telepítenie kell a következő könyvtárakat:

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

2. Importálja a szükséges modulokat

A könyvtárak telepítése után adja hozzá a következő importálási utasításokat a szkripthez a szükséges modulok importálásához.

import cv2
from pyzbar import pyzbar

3. Vonalkódok beolvasása képekből

Vonalkódok beolvasása képfájlokból:

  1. Töltse be a képet OpenCV segítségével olvasatlan funkció. Ez a következő példányt adja vissza numpy.ndarray.
  2. Adja át a kimeneti tömböt a pyzbar.decode észleléshez és dekódoláshoz. Példányait is átadhatja PIL.Kép.
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)

A függvény egy image_path paramétert, beolvassa a képet, dekódolja a képen lévő vonalkódokat, és kinyomtatja a dekódolt adatokat és a vonalkód típusát minden észlelt vonalkódhoz.

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

4. Vonalkódok beolvasása a webkamera adatfolyamból

A Python OpenCV könyvtár segítségével valós időben is beolvashat és olvashat vonalkódokat webkamera adatfolyamból.

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()

A beolvasás_vonalkód_webkameráról A funkció folyamatosan rögzíti a képkockákat a webkameráról, dekódolja a keretben lévő vonalkódokat, információkat nyer ki a vonalkódról, és kinyomtatja az információkat. A kilépéshez nyomja meg a q betűt a billentyűzeten.

Vonalkódok és QR-kódok generálása Pythonban

A Python segítségével a vonalkódok generálása és olvasása elérhetővé és hatékonysá válik. A vázolt lépések követésével különféle vonalkódokat hozhat létre az igényeinek megfelelően.

A QR-kódok (Quick Response Codes) olyan kétdimenziós vonalkódok, amelyeket okostelefonnal, táblagéppel vagy más kamerával és QR-kód olvasó alkalmazással felszerelt eszközzel is be lehet olvasni és le lehet olvasni. A Python qrcode könyvtár használatával hatékonyan generálhat, szkennelhet és olvashat QR-kódokat.