Введение
В этом практическом занятии показано, как создать штрих-код с использованием 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.