Os códigos de barras são uma visão comum em nossas vidas diárias. Com apenas alguns passos simples, você pode facilmente gerar e escanear códigos de barras usando Python.
Quando você compra um item em uma loja, as listras pretas paralelas de larguras variadas no item que você compra são chamadas de código de barras. Os códigos de barras são um método de representação de dados em um formato visual legível por máquina. Os códigos de barras são usados para armazenar informações sobre produtos para fácil identificação e rastreamento. Várias indústrias usam códigos de barras para gerenciamento de estoque.
Usando o Python, você pode gerar códigos de barras, escanear e ler o conteúdo de um código de barras.
Como Gerar e Personalizar Códigos de Barras
As etapas a seguir mostram como gerar códigos de barras usando o código de barras python biblioteca.
1. Instale a biblioteca necessária
Abra seu terminal ou prompt de comando e execute o seguinte comando pip para instalar a biblioteca necessária. Certifique-se de ter o pip instalado em sua máquina.
pip install python-barcode
2. Importe os módulos necessários
Em seu script, inclua as seguintes instruções de importação para importar os módulos necessários para a geração do código de barras.
import barcode
from the barcode.writer import ImageWriter
Escritoras lidar com a geração e salvamento de imagens de códigos de barras em diferentes formatos. O código de barras python A biblioteca fornece diferentes gravadores de códigos de barras. Aqui você vai usar o ImageWriter classe que processa códigos de barras como imagens.
3. Código para gerar código de barras
O código de barras python A biblioteca oferece vários formatos de código de barras, como Code39, Code128, EAN13 e ISBN-10 para gerar códigos de barras.
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)
O gerar_barcode função gera um código de barras com base no dado dados e formato (código_de_barras) e salva a imagem do código de barras em um arquivo, código de barras.png. A extensão do arquivo depende da classe de gravador que você usa.
4. Gerar e personalizar código de barras
Para gerar um código de barras, chame o gerar_barcode função e passar os parâmetros necessários.
generate_barcode("MakeUseOf", "code128")
Os escritores têm várias opções que permitem personalizar os códigos de barras. As opções de personalização incluem a modificação do tamanho, fonte, cor do código de barras e assim por diante. Você pode consultar o código de barras python documentação para acessar a lista completa de opções de gravador comuns.
generate_barcode("MakeUseOf", "code128", options={"foreground":"red",
"center_text": False,
"module_width":0.4,
"module_height":20})
Como digitalizar e decodificar códigos de barras
As etapas a seguir mostram como digitalizar e decodificar códigos de barras usando o Python pyzbar biblioteca.
1. Instale as bibliotecas necessárias
Para digitalizar e decodificar códigos de barras, você precisa instalar as seguintes bibliotecas:
brew install zbar # Mac OS X
sudo apt-get install libzbar0 # Linux OS
pip install pyzbar opencv-python
2. Importe os módulos necessários
Depois de instalar as bibliotecas, inclua as seguintes instruções de importação em seu script para importar os módulos necessários.
import cv2
from pyzbar import pyzbar
3. Escanear códigos de barras a partir de imagens
Para digitalizar códigos de barras de arquivos de imagem:
- Carregue a imagem usando OpenCV's eu estou lendo função. Isso retorna uma instância de numpy.ndarray.
- Passe a matriz de saída para pyzbar.decode para detecção e decodificação. Você também pode passar instâncias de PIL.Imagem.
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)
A função leva um image_path parâmetro, lê a imagem, decodifica qualquer código de barras presente na imagem e imprime os dados decodificados e o tipo de código de barras para cada código de barras detectado.
scan_barcode_from_image("barcode.png")
> Barcode Data: MakeUseOf
> Barcode Type: CODE128
4. Escanear códigos de barras do fluxo da webcam
Você também pode digitalizar e ler códigos de barras em tempo real a partir de um fluxo de webcam com a ajuda da biblioteca 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()
O scan_barcode_from_webcam A função captura continuamente quadros da webcam, decodifica qualquer código de barras presente no quadro, extrai informações sobre o código de barras e imprime as informações. Para sair pressione a letra q no seu teclado.
Gerando códigos de barras e códigos QR em Python
Com Python, gerar e ler códigos de barras torna-se acessível e eficiente. Seguindo as etapas descritas, você pode gerar uma variedade de códigos de barras para atender às suas necessidades.
Os códigos QR (códigos de resposta rápida) são códigos de barras bidimensionais que podem ser digitalizados e lidos por smartphones, tablets ou outros dispositivos equipados com uma câmera e um aplicativo leitor de código QR. Usando a biblioteca Python qrcode, você pode gerar, digitalizar e ler códigos QR com eficiência.