Баркодовете са често срещана гледка в нашето ежедневие. Само с няколко прости стъпки можете без усилие да генерирате и сканирате баркодове с помощта на Python.
Когато купувате артикул от магазин, успоредните черни ивици с различна ширина върху артикула, който купувате, се наричат баркод. Баркодовете са метод за представяне на данни във визуален, машинно четим формат. Баркодовете се използват за съхраняване на информация за продуктите за лесно идентифициране и проследяване. Различни индустрии използват баркодове за управление на инвентара.
С помощта на Python можете да генерирате баркодове, да сканирате и четете съдържанието на баркод.
Как да генерирате и персонализирате баркодове
Следващите стъпки показват как да генерирате баркодове с помощта на python-баркод библиотека.
1. Инсталирайте необходимата библиотека
Отворете своя терминал или команден ред и изпълнете следната команда pip, за да инсталирате необходимата библиотека. Уверете се, че имате инсталиран pip на вашата машина.
pip install python-barcode
2. Импортирайте необходимите модули
Във вашия скрипт включете следните инструкции за импортиране, за да импортирате модулите, необходими за генериране на баркод.
import barcode
from the barcode.writer import ImageWriter
Писатели обработват генерирането и запазването на изображения с баркод в различни формати. The python-баркод библиотеката предоставя различни програми за писане на баркодове. Тук ще използвате ImageWriter клас, който изобразява баркодовете като изображения.
3. Код за генериране на баркод
The python-баркод библиотеката предлага различни формати на баркодове, като Code39, Code128, EAN13 и ISBN-10 за генериране на баркодове.
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 генериране на баркод функцията генерира баркод въз основа на даденото данни и формат (баркод_формат) и записва изображението на баркода във файл, баркод.png. Разширението на файла зависи от класа на писател, който използвате.
4. Генерирайте и персонализирайте баркод
За да генерирате баркод, обадете се на генериране на баркод функция и предава необходимите параметри.
generate_barcode("MakeUseOf", "code128")
Писателите използват няколко опции, които ви позволяват да персонализирате баркодовете. Опциите за персонализиране включват промяна на размера, шрифта, цвета на баркода и т.н. Можете да се обърнете към python-баркод документация за достъп до пълния списък с общи опции за писане.
generate_barcode("MakeUseOf", "code128", options={"foreground":"red",
"center_text": False,
"module_width":0.4,
"module_height":20})
Как да сканирате и декодирате баркодове
Следващите стъпки показват как да сканирате и декодирате баркодове с помощта на Python pyzbar библиотека.
1. Инсталирайте необходимите библиотеки
За да сканирате и декодирате баркодове, трябва да инсталирате следните библиотеки:
brew install zbar # Mac OS X
sudo apt-get install libzbar0 # Linux OS
pip install pyzbar opencv-python
2. Импортирайте необходимите модули
След като инсталирате библиотеките, добавете следните инструкции за импортиране към вашия скрипт, за да импортирате необходимите модули.
import cv2
from pyzbar import pyzbar
3. Сканирайте баркодове от изображения
За да сканирате баркодове от файлове с изображения:
- Заредете изображението с помощта на OpenCV imread функция. Това връща екземпляр на numpy.ndarray.
- Предайте изходния масив на pyzbar.decode за откриване и декодиране. Можете също да предавате екземпляри на PIL.Изображение.
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)
Функцията отнема път_на_изображение параметър, чете изображението, декодира всички налични баркодове в изображението и отпечатва декодираните данни и типа на баркода за всеки открит баркод.
scan_barcode_from_image("barcode.png")
> Barcode Data: MakeUseOf
> Barcode Type: CODE128
4. Сканирайте баркодове от потока на уеб камера
Можете също така да сканирате и четете баркодове в реално време от поток от уеб камера с помощта на библиотеката 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 сканиране_баркод_от_уеб камера функцията непрекъснато улавя кадри от уеб камерата, декодира всички налични баркодове в рамката, извлича информация за баркода и отпечатва информацията. За да излезете, натиснете буквата q на клавиатурата.
Генериране на баркодове и QR кодове в Python
С Python генерирането и четенето на баркодове става достъпно и ефективно. Като следвате описаните стъпки, можете да генерирате различни баркодове, които да отговарят на вашите нужди.
QR кодовете (кодове за бърз отговор) са двуизмерни баркодове, които могат да бъдат сканирани и разчетени от смартфони, таблети или други устройства, оборудвани с камера и приложение за четене на QR кодове. С помощта на библиотеката с qrcode на Python можете ефективно да генерирате, сканирате и четете QR кодове.