Viivakoodit ovat yleinen näky jokapäiväisessä elämässämme. Muutaman yksinkertaisen vaiheen avulla voit luoda ja skannata viivakoodeja vaivattomasti Pythonilla.

Kun ostat tuotteen kaupasta, ostamassasi tuotteessa olevia erileveyksiä rinnakkaisia ​​mustia raitoja kutsutaan viivakoodiksi. Viivakoodit ovat tapa esittää tiedot visuaalisessa, koneellisesti luettavassa muodossa. Viivakoodeja käytetään tuotteiden tietojen tallentamiseen tunnistamisen ja seurannan helpottamiseksi. Useat toimialat käyttävät viivakoodeja varastonhallintaan.

Pythonilla voit luoda viivakoodeja, skannata ja lukea viivakoodin sisältöä.

Viivakoodien luominen ja mukauttaminen

Seuraavat vaiheet osoittavat, kuinka viivakoodeja luodaan käyttämällä python-viivakoodi kirjasto.

1. Asenna vaadittu kirjasto

Avaa terminaalisi tai komentokehote ja suorita seuraava pip-komento asentaaksesi vaaditun kirjaston. Varmista, että koneellesi on asennettu pip.

pip install python-barcode

2. Tuo tarvittavat moduulit

Sisällytä komentosarjaan seuraavat tuontilausekkeet tuodaksesi viivakoodin luomiseen tarvittavat moduulit.

instagram viewer
import barcode
from the barcode.writer import ImageWriter

kirjailijat hoitaa viivakoodikuvien luomisen ja tallentamisen eri muodoissa. The python-viivakoodi kirjasto tarjoaa erilaisia ​​viivakoodikirjoittimia. Tässä aiot käyttää ImageWriter luokka, joka näyttää viivakoodit kuvina.

3. Koodi viivakoodin luomiseksi

The python-viivakoodi kirjasto tarjoaa erilaisia ​​viivakoodimuotoja, kuten Code39, Code128, EAN13 ja ISBN-10 viivakoodien luomiseen.

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 genero_viivakoodi toiminto luo viivakoodin annetun perusteella tiedot ja muoto (viivakoodin_muoto) ja tallentaa viivakoodikuvan tiedostoon, viivakoodi.png. Tiedostotunniste riippuu käyttämästäsi kirjoittajaluokasta.

4. Luo ja mukauta viivakoodia

Luo viivakoodi soittamalla numeroon genero_viivakoodi toimi ja välitä vaaditut parametrit.

generate_barcode("MakeUseOf", "code128")

Kirjoittajat käyttävät useita vaihtoehtoja, joiden avulla voit mukauttaa viivakoodeja. Mukauttamisvaihtoehtoihin kuuluu viivakoodin koon, fontin, värin ja niin edelleen muokkaaminen. Voit viitata python-viivakoodi dokumentaatiosta päästäksesi täydelliseen luetteloon yleisistä kirjoitusvaihtoehdoista.


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

Kuinka skannata ja purkaa viivakoodeja

Seuraavat vaiheet osoittavat, kuinka viivakoodit skannataan ja puretaan Pythonilla pyzbar kirjasto.

1. Asenna tarvittavat kirjastot

Jos haluat skannata ja purkaa viivakoodeja, sinun on asennettava seuraavat kirjastot:

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

2. Tuo tarvittavat moduulit

Kun olet asentanut kirjastot, lisää skriptiisi seuraavat tuontilausekkeet tuodaksesi tarvittavat moduulit.

import cv2
from pyzbar import pyzbar

3. Skannaa viivakoodit kuvista

Viivakoodien skannaus kuvatiedostoista:

  1. Lataa kuva käyttämällä OpenCV: tä lukematta toiminto. Tämä palauttaa esiintymän numpy.ndarray.
  2. Välitä tulostusjono kohteeseen pyzbar.decode havaitsemiseen ja dekoodaukseen. Voit myös välittää esiintymiä PIL.Kuva.
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)

Toiminto kestää an kuvan_polku parametri, lukee kuvan, purkaa kaikki kuvassa olevat viivakoodit ja tulostaa puretut tiedot ja viivakoodityypin jokaiselle havaitulle viivakoodille.

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

4. Skannaa viivakoodit Webcam Streamista

Python OpenCV -kirjaston avulla voit myös skannata ja lukea viivakoodeja reaaliajassa verkkokameravirrasta.

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 -toiminto kaappaa jatkuvasti kuvia verkkokamerasta, purkaa kehyksessä olevat viivakoodit, poimii tiedot viivakoodista ja tulostaa tiedot. Lopeta painamalla näppäimistön q-kirjainta.

Viivakoodien ja QR-koodien luominen Pythonissa

Pythonin avulla viivakoodien luomisesta ja lukemisesta tulee helppoa ja tehokasta. Noudattamalla kuvattuja vaiheita voit luoda erilaisia ​​viivakoodeja tarpeidesi mukaan.

QR-koodit (Quick Response codes) ovat kaksiulotteisia viivakoodeja, joita voidaan skannata ja lukea älypuhelimilla, tableteilla tai muilla kameralla ja QR-koodinlukijasovelluksella varustetuilla laitteilla. Python qrcode -kirjaston avulla voit luoda, skannata ja lukea QR-koodeja tehokkaasti.