Создание штрих-кода с использованием Matplotlib

Beginner

This tutorial is from open-source community. Access the source code

Введение

В этом практическом занятии показано, как создать штрих-код с использованием Matplotlib в Python. Штрих-код генерируется с использованием бинарного массива из единиц и нулей и отображается с использованием Axes.imshow.

Советы по работе с ВМ

После запуска виртуальной машины щелкните в верхнем левом углу, чтобы переключиться на вкладку Ноутбук и получить доступ к Jupyter Notebook для практики.

Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.

Если вы столкнетесь с проблемами при обучении, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.

Импортируем необходимые библиотеки

Сначала нам нужно импортировать необходимые библиотеки, в том числе numpy и matplotlib.

import matplotlib.pyplot as plt
import numpy as np

Создаем бинарный массив

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

code = np.array([
    1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1,
    0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0,
    1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1,
    1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1])

Задаем значения пикселей и DPI

Нам нужно определить значения пикселей и DPI для штрих-кода. В этом примере мы будем использовать значение пикселей 4 и значение DPI 100.

pixel_per_bar = 4
dpi = 100

Создаем фигуру и оси

Нам нужно создать фигуру и оси для штрих-кода. Мы установим размер фигуры в несколько раз больше количества данных и отключим все оси.

fig = plt.figure(figsize=(len(code) * pixel_per_bar / dpi, 2), dpi=dpi)
ax = fig.add_axes([0, 0, 1, 1])  ## span the whole figure
ax.set_axis_off()

Отображаем штрих-код

Наконец, мы можем отобразить штрих-код с использованием Axes.imshow. Мы будем использовать code.reshape(1, -1) для преобразования данных в двумерный массив с одной строкой, imshow(..., aspect='auto') для обеспечения неквадратных пикселей и imshow(..., interpolation='nearest') для предотвращения размытия краев.

ax.imshow(code.reshape(1, -1), cmap='binary', aspect='auto',
          interpolation='nearest')
plt.show()

Резюме

В этом практическом занятии мы узнали, как создавать штрих-код с использованием Matplotlib в Python. Мы сначала импортировали необходимые библиотеки, затем создали бинарный массив, который будет использоваться для генерации штрих-кода. Затем мы задали значения пикселей и DPI и создали фигуру и оси. Наконец, мы отобразили штрих-код с использованием Axes.imshow.