Ako vytvoriť a dekódovať QR kód pomocou Pythonu

Ako vytvoriť a dekódovať QR kód pomocou Pythonu

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.

  1. Vytvorte priečinok pomocou mkdir [priečinok] príkaz, kde chcete vytvoriť tento projekt.
  2. Napíšte cd [priečinok] na príkazovom riadku sa presuňte do nového adresára.
  3. Napíšte virtualenv [názov prostredia] vytvoriť virtuálne prostredie.
  4. 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 iPhone

V 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
O autorovi Yuvraj Chandra(60 publikovaných článkov)

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 zoomom
Viac 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