Штрих-коды являются обычным явлением в нашей повседневной жизни. Всего за несколько простых шагов вы сможете легко генерировать и сканировать штрих-коды с помощью Python.

Когда вы покупаете товар в магазине, параллельные черные полосы разной ширины на предмете, который вы покупаете, называются штрих-кодом. Штрих-коды — это метод представления данных в визуальном машиночитаемом формате. Штрих-коды используются для хранения информации о продуктах для легкой идентификации и отслеживания. Различные отрасли промышленности используют штрих-коды для управления запасами.

Используя Python, вы можете генерировать штрих-коды, сканировать и считывать содержимое штрих-кода.

Как создавать и настраивать штрих-коды

Следующие шаги показывают, как генерировать штрих-коды с помощью python-штрих-код библиотека.

1. Установите необходимую библиотеку

Откройте свой терминал или командной строке и выполните следующую команду pip, чтобы установить необходимую библиотеку. Убедитесь, что на вашем компьютере установлен pip.

instagram viewer
pip install python-barcode

2. Импортируйте необходимые модули

Включите в свой сценарий следующие операторы импорта, чтобы импортировать модули, необходимые для генерации штрих-кода.

import barcode
from the barcode.writer import ImageWriter

Писатели управлять созданием и сохранением изображений штрих-кода в различных форматах. python-штрих-код библиотека предоставляет различные писатели штрих-кода. Здесь вы собираетесь использовать ImageWriter класс, который отображает штрих-коды в виде изображений.

3. Код для генерации штрих-кода

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)

generate_barcode функция генерирует штрих-код на основе заданного данные и формат (barcode_format) и сохраняет изображение штрих-кода в файл, штрих-код.png. Расширение файла зависит от используемого вами класса записи.

4. Создание и настройка штрих-кода

Чтобы сгенерировать штрих-код, позвоните в generate_barcode функции и передать необходимые параметры.

generate_barcode("MakeUseOf", "code128")

Писатели используют несколько опций, позволяющих настраивать штрих-коды. Параметры настройки включают изменение размера, шрифта, цвета штрих-кода и т. д. Вы можете обратиться к python-штрих-код документации, чтобы получить доступ к полному списку общих опций записи.


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

Как сканировать и декодировать штрих-коды

Следующие шаги показывают, как сканировать и декодировать штрих-коды с помощью Python. пызбар библиотека.

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. Сканировать штрих-коды с изображений

Чтобы сканировать штрих-коды из файлов изображений:

  1. Загрузите изображение с помощью OpenCV прочитывать функция. Это возвращает экземпляр numpy.ndarray.
  2. Передайте выходной массив в 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)

Функция принимает image_path параметр, считывает изображение, декодирует все штрих-коды, присутствующие в изображении, и печатает декодированные данные и тип штрих-кода для каждого обнаруженного штрих-кода.

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

scan_barcode_from_webcam функция непрерывно захватывает кадры с веб-камеры, декодирует любые штрих-коды, присутствующие в кадре, извлекает информацию о штрих-коде и распечатывает информацию. Чтобы выйти, нажмите букву q на клавиатуре.

Генерация штрих-кодов и QR-кодов в Python

С Python создание и считывание штрих-кодов становится доступным и эффективным. Следуя описанным шагам, вы можете создавать различные штрих-коды в соответствии с вашими потребностями.

QR-коды (Quick Response code) — это двумерные штрих-коды, которые можно сканировать и считывать с помощью смартфонов, планшетов или других устройств, оснащенных камерой и приложением для чтения QR-кодов. Используя библиотеку qrcode Python, вы можете эффективно генерировать, сканировать и читать QR-коды.