Svītrkodi ir izplatīts skats mūsu ikdienas dzīvē. Veicot tikai dažas vienkāršas darbības, varat bez piepūles ģenerēt un skenēt svītrkodus, izmantojot Python.

Iegādājoties preci veikalā, paralēlās melnās dažāda platuma svītras uz pirkuma preces sauc par svītrkodu. Svītrkodi ir metode datu attēlošanai vizuālā, mašīnlasāmā formātā. Svītrkodi tiek izmantoti, lai saglabātu informāciju par produktiem, lai tos varētu viegli identificēt un izsekot. Dažādas nozares izmanto svītrkodus krājumu pārvaldībai.

Izmantojot Python, varat ģenerēt svītrkodus, skenēt un lasīt svītrkoda saturu.

Kā ģenerēt un pielāgot svītrkodus

Tālāk norādītās darbības parāda, kā ģenerēt svītrkodus, izmantojot python-svītrkods bibliotēka.

1. Instalējiet nepieciešamo bibliotēku

Atveriet savu termināli vai komandu uzvedni un palaidiet šo pip komandu, lai instalētu nepieciešamo bibliotēku. Pārliecinieties, ka jūsu ierīcē ir instalēts pip.

pip install python-barcode

2. Importējiet nepieciešamos moduļus

Skriptā iekļaujiet tālāk norādītos importēšanas paziņojumus, lai importētu svītrkoda ģenerēšanai nepieciešamos moduļus.

instagram viewer
import barcode
from the barcode.writer import ImageWriter

Rakstnieki apstrādāt un ģenerēt un saglabāt svītrkoda attēlus dažādos formātos. The python-svītrkods bibliotēka nodrošina dažādus svītrkodu rakstītājus. Šeit jūs gatavojaties izmantot ImageWriter klase, kas atveido svītrkodus kā attēlus.

3. Kods svītrkoda ģenerēšanai

The python-svītrkods bibliotēka piedāvā dažādus svītrkodu formātus, piemēram, Code39, Code128, EAN13 un ISBN-10 svītrkodu ģenerēšanai.

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 ģenerēt_ svītrkodu funkcija ģenerē svītrkodu, pamatojoties uz doto datus un formāts (svītrkoda_formāts) un saglabā svītrkoda attēlu failā, svītrkods.png. Faila paplašinājums ir atkarīgs no izmantotās rakstītāju klases.

4. Ģenerējiet un pielāgojiet svītrkodu

Lai ģenerētu svītrkodu, zvaniet uz ģenerēt_ svītrkodu funkciju un nodod nepieciešamos parametrus.

generate_barcode("MakeUseOf", "code128")

Rakstnieki izmanto vairākas iespējas, kas ļauj pielāgot svītrkodus. Pielāgošanas iespējas ietver svītrkoda lieluma, fonta, krāsas un tā tālāk mainīšanu. Jūs varat atsaukties uz python-svītrkods dokumentāciju, lai piekļūtu pilnam izplatītāko rakstīšanas opciju sarakstam.


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

Kā skenēt un atšifrēt svītrkodus

Tālāk norādītās darbības parāda, kā skenēt un atšifrēt svītrkodus, izmantojot Python pyzbar bibliotēka.

1. Instalējiet nepieciešamās bibliotēkas

Lai skenētu un atšifrētu svītrkodus, jāinstalē šādas bibliotēkas:

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

2. Importējiet nepieciešamos moduļus

Pēc bibliotēku instalēšanas pievienojiet skriptam šādus importēšanas priekšrakstus, lai importētu nepieciešamos moduļus.

import cv2
from pyzbar import pyzbar

3. Skenējiet svītrkodus no attēliem

Lai skenētu svītrkodus no attēlu failiem:

  1. Ielādējiet attēlu, izmantojot OpenCV nelasīts funkciju. Tas atgriež gadījumu numpy.ndarray.
  2. Nododiet izvades masīvu uz pyzbar.decode noteikšanai un dekodēšanai. Varat arī nodot gadījumus PIL.Attēls.
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)

Funkcija aizņem an attēla_ceļš parametru, nolasa attēlu, atkodē visus attēlā esošos svītrkodus un izdrukā dekodētos datus un svītrkoda veidu katram atklātajam svītrkodam.

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

4. Skenējiet svītrkodus no tīmekļa kameras straumes

Varat arī skenēt un lasīt svītrkodus reāllaikā no tīmekļa kameras straumes, izmantojot Python OpenCV bibliotēku.

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 skenēt_svītrkodu_no tīmekļa kameras funkcija nepārtraukti tver kadrus no tīmekļa kameras, atkodē visus kadrā esošos svītrkodus, iegūst informāciju par svītrkodu un izdrukā informāciju. Lai beigtu, nospiediet tastatūras burtu q.

Svītrkodu un QR kodu ģenerēšana programmā Python

Izmantojot Python, svītrkodu ģenerēšana un lasīšana kļūst pieejama un efektīva. Veicot norādītās darbības, varat ģenerēt dažādus svītrkodus atbilstoši savām vajadzībām.

QR kodi (Quick Response Codes) ir divdimensiju svītrkodi, kurus var skenēt un nolasīt ar viedtālruņiem, planšetdatoriem vai citām ierīcēm, kas aprīkotas ar kameru un QR koda lasītāja aplikāciju. Izmantojot Python qrcode bibliotēku, varat efektīvi ģenerēt, skenēt un lasīt QR kodus.