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.
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:
- Töltse be a képet OpenCV segítségével olvasatlan funkció. Ez a következő példányt adja vissza numpy.ndarray.
- 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.