Los códigos de barras son una vista común en nuestra vida diaria. Con solo unos simples pasos, puede generar y escanear códigos de barras sin esfuerzo usando Python.

Cuando compra un artículo en una tienda, las franjas negras paralelas de diferentes anchos en el artículo que compra se denominan código de barras. Los códigos de barras son un método para representar datos en un formato visual legible por máquina. Los códigos de barras se utilizan para almacenar información sobre productos para una fácil identificación y seguimiento. Varias industrias utilizan códigos de barras para la gestión de inventario.

Con Python puede generar códigos de barras, escanear y leer el contenido de un código de barras.

Cómo generar y personalizar códigos de barras

Los siguientes pasos muestran cómo generar códigos de barras usando el python-código de barras biblioteca.

1. Instalar la biblioteca requerida

Abre tu terminal o símbolo del sistema y ejecute el siguiente comando pip para instalar la biblioteca necesaria. Asegúrese de tener pip instalado en su máquina.

instagram viewer
pip install python-barcode

2. Importar los módulos requeridos

En su secuencia de comandos, incluya las siguientes declaraciones de importación para importar los módulos necesarios para la generación de códigos de barras.

import barcode
from the barcode.writer import ImageWriter

escritores manejar la generación y el guardado de imágenes de códigos de barras en diferentes formatos. El python-código de barras biblioteca proporciona diferentes escritores de códigos de barras. Aquí vas a usar el ImageWriter clase que representa los códigos de barras como imágenes.

3. Código para generar código de barras

El python-código de barras La biblioteca ofrece varios formatos de códigos de barras, como Code39, Code128, EAN13 e ISBN-10 para generar 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)

El generar_código de barras función genera un código de barras basado en el dado datos y formato (formato de código de barras) y guarda la imagen del código de barras en un archivo, código de barras.png. La extensión del archivo depende de la clase de escritor que utilice.

4. Generar y personalizar código de barras

Para generar un código de barras, llame al generar_código de barras función y pasar los parámetros requeridos.

generate_barcode("MakeUseOf", "code128")

Los escritores toman varias opciones que le permiten personalizar los códigos de barras. Las opciones de personalización incluyen modificar el tamaño, la fuente, el color del código de barras, etc. Puedes referirte a la python-código de barras documentación para acceder a la lista completa de opciones de escritor comunes.


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

Cómo escanear y decodificar códigos de barras

Los siguientes pasos muestran cómo escanear y decodificar códigos de barras usando Python pizbar biblioteca.

1. Instale las bibliotecas requeridas

Para escanear y decodificar códigos de barras, debe instalar las siguientes bibliotecas:

brew install zbar # Mac OS X
sudo apt-get install libzbar0 # Linux OS
pip install pyzbar opencv-python

2. Importar los módulos requeridos

Después de instalar las bibliotecas, agregue las siguientes declaraciones de importación a su secuencia de comandos para importar los módulos necesarios.

import cv2
from pyzbar import pyzbar

3. Escanear códigos de barras de imágenes

Para escanear códigos de barras de archivos de imagen:

  1. Cargue la imagen usando OpenCV's Estoy leído función. Esto devuelve una instancia de numpy.ndarray.
  2. Pase la matriz de salida a pyzbar.decode para la detección y decodificación. También puede pasar instancias de PIL.Imagen.
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)

La función toma un ruta de la imagen parámetro, lee la imagen, decodifica cualquier código de barras presente en la imagen e imprime los datos decodificados y el 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 desde la transmisión de la cámara web

También puede escanear y leer códigos de barras en tiempo real desde una transmisión de cámara web con la ayuda de la 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()

El escanear_código_de_barras_desde_webcam La función captura continuamente cuadros de la cámara web, decodifica cualquier código de barras presente en el cuadro, extrae información sobre el código de barras e imprime la información. Para salir, presione la letra q en su teclado.

Generación de códigos de barras y códigos QR en Python

Con Python, generar y leer códigos de barras se vuelve accesible y eficiente. Siguiendo los pasos descritos, puede generar una variedad de códigos de barras para satisfacer sus necesidades.

Los códigos QR (códigos de respuesta rápida) son códigos de barras bidimensionales que se pueden escanear y leer con teléfonos inteligentes, tabletas u otros dispositivos equipados con una cámara y una aplicación de lectura de códigos QR. Con la biblioteca qrcode de Python, puede generar, escanear y leer códigos QR de manera eficiente.