QR -koodin luominen ja purkaminen Pythonin avulla

QR -koodin luominen ja purkaminen Pythonin avulla

QR -koodi (Quick Response code) on eräänlainen matriisiviivakoodi, joka tallentaa koodatut tiedot. Se sai nimen Quick Response Code, koska se pystyy tallentamaan ja käyttämään suuria tietoja hetkessä. Löydät nämä QR -koodit kaikkialta: julisteita, lehtiä, elokuvateattereita, verkkosivustoja, kuntosaleja, mainoksia jne.





Pythonin avulla voit luoda oman QR -koodisi, muokata sitä ja purkaa tietoja QR -koodista.





Määritä Python -ympäristö

On suositeltavaa luoda eristetty ympäristö Python -projekteille. Kun teet tämän, voit ymmärtää enemmän projektin riippuvuuksista.





Virtuaalisen ympäristön luominen

Sinä pystyt Luo virtuaalinen ympäristö Pythoniin useilla tavoilla: virtualenv, virtualenvwrapper tai Anaconda. Tässä käytämme virtualenv virtuaalisen ympäristön luomiseksi.

  1. Luo kansio käyttämällä mkdir [kansio] komento, johon haluat luoda tämän projektin.
  2. Tyyppi cd [kansio] komentokehotteessa siirtyäksesi uuteen hakemistoon.
  3. Tyyppi virtualenv [Ympäristönimi] virtuaalisen ympäristön luomiseksi.
  4. Aktivoi virtuaalinen ympäristö kirjoittamalla [Ympäristönimi] Skriptit aktivoi

Asenna tarvittavat paketit

Asenna tarvittavat Python -paketit pip -komennolla. Varmista, että sinulla on pip asennettu järjestelmään .



Suorita seuraava komento komentoriviltä.

pip3 install opencv-python qrcode numpy Image

Jos et halua asentaa kaikkia paketteja kerralla, voit asentaa ne yksitellen seuraavasti:





pip3 install opencv-python

Tämä asentaa opencv-python-paketin, jota käytetään pääasiassa tietokoneen näkemiseen, koneoppimiseen ja kuvankäsittelyyn.

pip3 install qrcode

Tämä asentaa qrcode python -paketin, jota käytetään QR -koodien luomiseen ja lukemiseen.





pip3 install numpy

Tämä asentaa numpy python -paketin, jota käytetään matriisien kanssa työskentelyyn.

pip3 install Image

Tämä asentaa Image python -paketin, joka tarjoaa useita toimintoja kuvien lataamiseen tiedostoista ja uusien kuvien luomiseen.

Luo QR -koodi

Luo koodi luomalla uusi tiedosto, jossa on .py laajennus, jolla on koodi QR -koodin luomiseksi.

Liitä seuraava koodi Python -tiedostoosi ja suorita ohjelma.

kuinka katsella televisiota kannettavalla tietokoneella Internetin kanssa
import qrcode
# Data for which you want to make QR code
# Here we are using the URL of the MakeUseOf website
data = 'https://www.makeuseof.com/'
# File name of the QR code Image
# Change it with your desired file name
QRCodefile = 'MUOQRCode.png'
# Generating the QR code
QRimage = qrcode.make(data)
# Saving image into a file
QRimage.save(QRCodefile)

Tämä luo QR -koodikuvan (MUOQRCode.png) annetuille tiedoille (tässä tapauksessa www.makeuseof.com ). Luotu QR -koodi näyttää tältä:

Luo mukautettu QR -koodi

Voit muokata QR -koodia qrcode -kirjaston hämmästyttävillä ominaisuuksilla. Voit muuttaa QR -koodin täyttöväriä, taustaväriä, kuvan kokoa, laatikon kokoa ja reunan paksuutta.

Kuvan ja laatikon koon muuttaminen

Voit muuttaa QR -koodin kuvan kokoa versio parametri QRCode -luokassa. Se hyväksyy kokonaisluvun 1 ja 40 välillä, missä 1 vastaa 21x21 -matriisia ja 40 vastaa 185x185 -matriisia. Huomaa, että tiedot eivät sovi määritettyyn kokoon, vaan versio skaalautuu automaattisesti.

Voit myös muuttaa laatikon kokoa näppäimellä box_size parametri QRCode -luokassa. Se määrittää jokaisen QR -koodin ruudun pikselit.

# Importing libraries
import qrcode
import numpy as np
# Data which for you want to make QR code
# Here we are using URL of MakeUseOf website
data = 'https://www.makeuseof.com/'
# Name of the QR code Image file
QRCodefile = 'CustomisedImgBoxQRCode.png'
# instantiate QRCode object
qrObject = qrcode.QRCode(version=1, box_size=12)
# add data to the QR code
qrObject.add_data(data)
# compile the data into a QR code array
qrObject.make()
image = qrObject.make_image()
image.save(QRCodefile)
# print the image size (version)
print('Size of the QR image(Version):')
print(np.array(qrObject.get_matrix()).shape)

Seuraava QR -koodikuvatiedosto luodaan:

Myös seuraava lähtö näytetään-

Size of the QR image(Version):
(33, 33)

Huomaa, että versio skaalataan automaattisesti datan koon mukaan.

Täyttövärin vaihtaminen

Voit muuttaa QR -koodin täyttöväriä käyttämällä täyttöväri parametri.

# Importing library
import qrcode
# Data for which you want to make QR Code
# Here we are using URL of MakeUseOf website
data = 'https://www.makeuseof.com/'
# Name of the QR Code Image file
QRCodefile = 'CustomisedFillColorQRCode.png'
# instantiate QRCode object
qrObject = qrcode.QRCode()
# add data to the QR code
qrObject.add_data(data)
# compile the data into a QR code array
qrObject.make()
image = qrObject.make_image(fill_color='red')
# Saving image into a file
image.save(QRCodefile)

Seuraava QR -koodikuvatiedosto luodaan:

Taustan värin vaihtaminen

Voit muuttaa QR -koodin taustaväriä käyttämällä back_color parametri.

# Importing library
import qrcode
# Data for which you want to make QR Code
# Here we are using URL of MakeUseOf website
data = 'https://www.makeuseof.com/'
# Name of the QR Code Image file
QRCodefile = 'CustomisedBGColorQRCode.png'
# instantiate QRCode object
qrObject = qrcode.QRCode()
# add data to the QR code
qrObject.add_data(data)
# compile the data into a QR code array
qrObject.make()
image = qrObject.make_image(back_color='blue')
# Saving image into a file
image.save(QRCodefile)

Seuraava QR -koodikuvatiedosto luodaan:

Reunan paksuuden muuttaminen

Voit muuttaa QR -koodin reunan paksuutta käyttämällä raja parametri QRCode -luokassa.

# Importing libraries
import qrcode
# Data for which you want to make QR Code
# Here we are using URL of MakeUseOf website
data = 'https://www.makeuseof.com/'
# Name of the QR Code Image file
QRCodefile = 'CustomisedBorderQRCode.png'
# instantiate QRCode object
qrObject = qrcode.QRCode(border=10)
# add data to the QR code
qrObject.add_data(data)
# compile the data into a QR code array
qrObject.make()
image = qrObject.make_image()
image.save(QRCodefile)

Seuraava QR -koodikuvatiedosto luodaan:

Pura QR -koodi käyttämällä QR -koodikuvaa

Voit purkaa tiedot QR -koodikuvasta Pythonin OpenCV -kirjaston avulla. OpenCV: ssä on sisäänrakennettu QR -koodinilmaisin. Ilmaisimen avulla voit purkaa tiedot QR -koodista.

# Import Library
import cv2
# Name of the QR Code Image file
filename = 'MUOQRCode.png'
# read the QRCODE image
image = cv2.imread(filename)
# initialize the cv2 QRCode detector
detector = cv2.QRCodeDetector()
# detect and decode
data, vertices_array, binary_qrcode = detector.detectAndDecode(image)
# if there is a QR code
# print the data
if vertices_array is not None:
print('QRCode data:')
print(data)
else:
print('There was some error')

Jos annettu kuva on kelvollinen QR -koodi, dekoodatut tiedot näytetään. Tässä tapauksessa syntyy seuraava lähtö-

QRCode data:
https://www.makeuseof.com/

Dekoodaa QR -koodi reaaliaikaisesti verkkokameran avulla

Useimmiten ihmiset käyttävät yleensä verkkokameraa QR -koodien skannaamiseen. Käyttämällä Python- ja OpenCV -kirjaston mahdollisuuksia voit purkaa tiedot helposti QR -koodista.

import cv2
# initalize the camera
cap = cv2.VideoCapture(0)
# initialize the OpenCV QRCode detector
detector = cv2.QRCodeDetector()
while True:
_, img = cap.read()
# detect and decode
data, vertices_array, _ = detector.detectAndDecode(img)
# check if there is a QRCode in the image
if vertices_array is not None:
if data:
print('QR Code detected, data:', data)
# display the result
cv2.imshow('img', img)
# Enter q to Quit
if cv2.waitKey(1) == ord('q'):
break
cap.release()
cv2.destroyAllWindows()

Kun suoritat tämän koodin, verkkokamerasi avautuu automaattisesti. Pidä vain QR -koodia verkkokameran edessä, niin tiedot dekoodataan ja näytetään komentoriviltä.

QR -koodin koodaus ja dekoodaus tehty helpoksi

Tämän artikkelin avulla voit helposti koodata, purkaa ja muokata QR -koodeja haluamallasi tavalla. Voit jopa luoda täydellisen QR-koodiskanneri-generaattorisovelluksen annetulla koodilla.

QR -koodeja voi käyttää useilla luovilla tavoilla. Ole luova ja käytä QR -koodeja haluamallasi tavalla.

Jaa Jaa Tweet Sähköposti Kuinka skannata QR -koodi Androidissa ja iPhonessa

Sekä Android- että iPhone-laitteisiin on esiasennettu QR-koodiskanneri. Näin käytät sitä.

Lue seuraava
Liittyvät aiheet
  • Ohjelmointi
  • QR koodi
  • Python
Kirjailijasta Yuvraj Chandra(60 artikkelia julkaistu)

Yuvraj on tietojenkäsittelytieteen perusopiskelija Delhin yliopistossa Intiassa. Hän on intohimoinen Full Stack Web -kehityksestä. Kun hän ei kirjoita, hän tutkii eri tekniikoiden syvyyttä.

kuinka muuttaa ps4 -nimesi
Lisää Yuvraj Chandralta

tilaa uutiskirjeemme

Liity uutiskirjeeseemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e -kirjoja ja ainutlaatuisia tarjouksia!

Klikkaa tästä tilataksesi