Introdução
Este laboratório demonstra como criar um código de barras usando Matplotlib em Python. O código de barras é produzido usando um array binário de uns e zeros, e é renderizado usando Axes.imshow.
Dicas para a VM
Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.
Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.
Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.
Importar as Bibliotecas Necessárias
Primeiramente, precisamos importar as bibliotecas necessárias, incluindo numpy e matplotlib.
import matplotlib.pyplot as plt
import numpy as np
Criar o Array Binário
Em seguida, precisamos criar o array binário que será usado para gerar o código de barras. Neste exemplo, usaremos o seguinte array binário:
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])
Definir os Valores de Pixel e DPI
Precisamos definir os valores de pixel e DPI para o código de barras. Neste exemplo, usaremos um valor de pixel de 4 e um valor de DPI de 100.
pixel_per_bar = 4
dpi = 100
Criar a Figura e os Eixos
Precisamos criar a figura e os eixos para o código de barras. Definiremos o tamanho da figura como um múltiplo do número de pontos de dados e desativaremos todos os eixos.
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()
Renderizar o Código de Barras
Finalmente, podemos renderizar o código de barras usando Axes.imshow. Usaremos code.reshape(1, -1) para transformar os dados em um array 2D com uma linha, imshow(..., aspect='auto') para permitir pixels não quadrados e imshow(..., interpolation='nearest') para evitar bordas borradas.
ax.imshow(code.reshape(1, -1), cmap='binary', aspect='auto',
interpolation='nearest')
plt.show()
Resumo
Neste laboratório, aprendemos como criar um código de barras usando Matplotlib em Python. Primeiro, importamos as bibliotecas necessárias, depois criamos um array binário que será usado para gerar o código de barras. Em seguida, definimos os valores de pixel e DPI e criamos a figura e os eixos. Finalmente, renderizamos o código de barras usando Axes.imshow.