QR kód (kód rýchlej reakcie) je typ maticového čiarového kódu, ktorý ukladá kódované údaje. Bol pomenovaný kód rýchlej reakcie, pretože dokázal rýchlo uložiť a pristupovať k veľkým údajom. Tieto QR kódy nájdete všade: plagáty, časopisy, kinosály, webové stránky, telocvične, reklamy atď.
Pomocou Pythonu môžete generovať svoj vlastný QR kód, prispôsobiť ho a dekódovať informácie z QR kódu.
Nastavte prostredie Python
Odporúča sa vytvoriť izolované prostredie pre projekty Python. Vďaka tomu môžete lepšie porozumieť závislostiam projektu.
Vytvorenie virtuálneho prostredia
Môžeš vytvorte v Pythone virtuálne prostredie niekoľkými spôsobmi: virtualenv, virtualenvwrapper alebo distribúcia Anaconda. Tu použijeme virtualenv vytvoriť virtuálne prostredie.
- Vytvorte priečinok pomocou mkdir [priečinok] príkaz, kde chcete vytvoriť tento projekt.
- Napíšte cd [priečinok] na príkazovom riadku sa presuňte do nového adresára.
- Napíšte virtualenv [názov prostredia] vytvoriť virtuálne prostredie.
- Aktivujte virtuálne prostredie zadaním [Názov prostredia] Skripty aktivovať
Nainštalujte požadované balíky
Nainštalujte požadované balíky Pythonu pomocou príkazu pip. Uistite sa, že máte pip nainštalovaný vo vašom systéme .
Na príkazovom riadku spustite nasledujúci príkaz.
pip3 install opencv-python qrcode numpy Image
Ak nechcete nainštalovať všetky balíky naraz, môžete ich nainštalovať jeden po druhom ako:
pip3 install opencv-python
Nainštaluje sa balík opencv-python, ktorý sa používa hlavne na počítačové videnie, strojové učenie a spracovanie obrazu.
pip3 install qrcode
Tým sa nainštaluje balík qrcode python, ktorý sa používa na generovanie a čítanie QR kódov.
pip3 install numpy
Nainštaluje sa balík numpy python, ktorý sa používa na prácu s poľami.
pip3 install Image
Nainštaluje sa balík Image python, ktorý poskytuje množstvo funkcií na načítanie obrázkov zo súborov a vytváranie nových obrázkov.
Vygenerujte QR kód
Na vygenerovanie kódu vytvorte nový súbor s príponou .py rozšírenie, ktoré bude mať kód na generovanie QR kódu.
Vložte nasledujúci kód do súboru Python a spustite program.
čo je režim zmiznutia na Facebooku
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 sa vytvorí obrázok QR kódu (MUOQRCode.png) pre dané údaje (v tomto prípade www.makeuseof.com ). Vygenerovaný QR kód bude vyzerať asi takto:
Vygenerujte prispôsobený QR kód
QR kód si môžete prispôsobiť pomocou úžasných funkcií knižnice qrcode. V kóde QR môžete zmeniť farbu výplne, farbu pozadia, veľkosť obrázku, veľkosť poľa a hrúbku orámovania.
Zmena veľkosti obrázka a poľa
Veľkosť obrázku v kóde QR môžete zmeniť pomocou verzia parameter v triede QRCode. Prijíma celé číslo od 1 do 40, kde 1 je ekvivalentná matici 21x21 a 40 je ekvivalentná matici 185x185. Upozorňujeme, že údaje sa nezmestia do zadanej veľkosti, verzia sa automaticky zvýši.
Podobne môžete zmeniť veľkosť poľa pomocou box_size parameter v triede QRCode. Špecifikuje pixely každého poľa v QR kóde.
# 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)
Bude vygenerovaný nasledujúci súbor obrázka s kódom QR:
Zobrazí sa tiež nasledujúci výstup-
Size of the QR image(Version):
(33, 33)
Uvedomte si, že verzia sa automaticky zväčšuje podľa veľkosti údajov.
Zmena farby výplne
Farbu výplne QR kódu môžete zmeniť pomocou fill_color parameter.
# 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)
Bude vygenerovaný nasledujúci súbor obrázka s kódom QR:
Zmena farby pozadia
Farbu pozadia QR kódu môžete zmeniť pomocou back_color parameter.
# 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)
Bude vygenerovaný nasledujúci súbor obrázka s kódom QR:
Zmena hrúbky hraníc
Hrúbku okraja QR kódu môžete zmeniť pomocou hranica parameter v triede QRCode.
# 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)
Bude vygenerovaný nasledujúci súbor obrázka s kódom QR:
Dekódujte QR kód pomocou obrázku QR kódu
Informácie môžete dekódovať z obrázku kódu QR pomocou knižnice OpenCV v Pythone. OpenCV má vstavaný detektor QR kódu. Pomocou detektora môžete dekódovať údaje z QR kódu.
# 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')
Ak je poskytnutý obrázok platným QR kódom, zobrazia sa dekódované údaje. V takom prípade sa vygeneruje nasledujúci výstup-
QRCode data:
https://www.makeuseof.com/
Dekódujte QR kód naživo pomocou webovej kamery
Ľudia väčšinou na skenovanie QR kódov používajú webovú kameru. S využitím potenciálu knižnice Python a OpenCV môžete ľahko dekódovať údaje z QR kódu.
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()
Keď spustíte tento kód, webová kamera sa automaticky otvorí. Jednoducho podržte QR kód pred webovou kamerou a údaje sa dekódujú a zobrazia v príkazovom riadku.
Jednoduché kódovanie a dekódovanie QR kódu
Pomocou tohto článku môžete jednoducho kódovať, dekódovať a prispôsobovať QR kódy, ako chcete. Pomocou uvedeného kódu môžete dokonca vytvoriť úplnú aplikáciu Generátor skenera QR kódu.
Existuje niekoľko kreatívnych spôsobov, ako používať QR kódy. Buďte kreatívni a používajte QR kódy, ako chcete.
zdieľam zdieľam Tweet E -mail Ako naskenovať QR kód v systéme Android a iPhoneV systéme Android aj iPhone je predinštalovaný skener kódu QR. Tu je návod, ako ho použiť.
Čítajte ďalej Súvisiace témy- Programovanie
- QR kód
- Python
Yuvraj je študentom informatiky na univerzite v Dillí v Indii. Je nadšený pre vývoj webových aplikácií Full Stack. Keď nepíše, skúma hĺbku rôznych technológií.
ako zdvihnúť ruku pri stretnutí so zoomomViac od Yuvraja Chandru
prihlásiť sa ku odberu noviniek
Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné elektronické knihy a exkluzívne ponuky!
Kliknutím sem sa prihlásite na odber