Codurile de bare sunt o vedere comună în viața noastră de zi cu zi. Cu doar câțiva pași simpli, puteți genera și scana fără efort coduri de bare folosind Python.

Când achiziționați un articol dintr-un magazin, dungile negre paralele de lățimi diferite de pe articolul pe care îl achiziționați se numesc cod de bare. Codurile de bare sunt o metodă de reprezentare a datelor într-un format vizual, care poate fi citit de mașină. Codurile de bare sunt folosite pentru a stoca informații despre produse pentru o identificare și urmărire ușoară. Diverse industrii folosesc coduri de bare pentru gestionarea stocurilor.

Folosind Python puteți genera coduri de bare, puteți scana și citi conținutul unui cod de bare.

Cum să generați și să personalizați codurile de bare

Următorii pași arată cum se generează coduri de bare folosind cod de bare python bibliotecă.

1. Instalați biblioteca necesară

Deschideți terminalul sau prompt de comandă și rulați următoarea comandă pip pentru a instala biblioteca necesară. Asigurați-vă că aveți pip instalat pe mașina dvs.

pip install python-barcode

2. Importați modulele necesare

În scriptul dvs., includeți următoarele instrucțiuni de import pentru a importa modulele necesare pentru generarea codurilor de bare.

import barcode
from the barcode.writer import ImageWriter

Scriitori gestionați generarea și salvarea imaginilor codurilor de bare în diferite formate. The cod de bare python biblioteca oferă diferite scriitoare de coduri de bare. Aici vei folosi ImageWriter clasă care redă coduri de bare ca imagini.

3. Cod pentru a genera codul de bare

The cod de bare python biblioteca oferă diferite formate de coduri de bare, cum ar fi Code39, Code128, EAN13 și ISBN-10 pentru generarea codurilor de bare.

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)

The generate_barcode funcția generează un cod de bare pe baza datelor date date și format (format_cod de bare) și salvează imaginea codului de bare într-un fișier, cod de bare.png. Extensia fișierului depinde de clasa de scriitor pe care o utilizați.

4. Generați și personalizați codul de bare

Pentru a genera un cod de bare, apelați generate_barcode funcţionează şi trece parametrii necesari.

generate_barcode("MakeUseOf", "code128")

Scriitorii iau mai multe opțiuni care vă permit să personalizați codurile de bare. Opțiunile de personalizare includ modificarea dimensiunii, fontului, culorii codului de bare și așa mai departe. Vă puteți referi la cod de bare python documentație pentru a accesa lista completă a opțiunilor comune de redactare.


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

Cum să scanați și să decodați codurile de bare

Următorii pași arată cum să scanați și să decodați codurile de bare folosind Python pyzbar bibliotecă.

1. Instalați bibliotecile necesare

Pentru a scana și decoda codurile de bare, trebuie să instalați următoarele biblioteci:

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

2. Importați modulele necesare

După instalarea bibliotecilor, adăugați următoarele instrucțiuni de import la scriptul dumneavoastră pentru a importa modulele necesare.

import cv2
from pyzbar import pyzbar

3. Scanați codurile de bare din imagini

Pentru a scana coduri de bare din fișiere imagine:

  1. Încărcați imaginea folosind OpenCV imcitit funcţie. Aceasta returnează o instanță de numpy.ndarray.
  2. Transmiteți matricea de ieșire la pyzbar.decode pentru detectare și decodare. De asemenea, puteți trece instanțe de PIL.Imagine.
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)

Funcția ia un cale_imagine parametrul, citește imaginea, decodifică orice cod de bare prezent în imagine și imprimă datele decodate și tipul codului de bare pentru fiecare cod de bare detectat.

scan_barcode_from_image("barcode.png")
> Barcode Data: MakeUseOf
> Barcode Type: CODE128

4. Scanați codurile de bare din fluxul camerei web

De asemenea, puteți scana și citi coduri de bare în timp real dintr-un flux de webcam cu ajutorul bibliotecii 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()

The scan_barcode_from_webcam Funcția captează în mod continuu cadre de pe camera web, decodifică orice cod de bare prezent în cadru, extrage informații despre codul de bare și imprimă informațiile. Pentru a renunța, apăsați litera q de pe tastatură.

Generarea de coduri de bare și coduri QR în Python

Cu Python, generarea și citirea codurilor de bare devine accesibilă și eficientă. Urmând pașii menționați, puteți genera o varietate de coduri de bare care să corespundă nevoilor dvs.

Codurile QR (Coduri de răspuns rapid) sunt coduri de bare bidimensionale care pot fi scanate și citite de smartphone-uri, tablete sau alte dispozitive echipate cu o cameră și o aplicație de citire a codurilor QR. Folosind biblioteca Python qrcode puteți genera, scana și citi coduri QR în mod eficient.