Sådan opretter og dekoder du en QR -kode ved hjælp af Python

Sådan opretter og dekoder du en QR -kode ved hjælp af Python

En QR -kode (Quick Response -kode) er en type matrixstregkode, der gemmer kodede data. Den fik navnet Quick Response -kode på grund af dens evne til at gemme og få adgang til store data på ingen tid. Du kan finde disse QR -koder overalt: plakater, blade, biografsale, websteder, fitnesscentre, reklamer osv.





Ved hjælp af Python kan du generere din egen QR -kode, tilpasse den og afkode oplysninger fra en QR -kode.





Konfigurer et Python -miljø

Det anbefales at oprette et isoleret miljø for Python -projekter. Ved at gøre dette kan du forstå mere om projektets afhængigheder.





Oprettelse af et virtuelt miljø

Du kan oprette et virtuelt miljø i Python på en række måder: virtualenv, virtualenvwrapper eller Anaconda distribution. Her vil vi bruge virtualenv at skabe et virtuelt miljø.

  1. Opret en mappe ved hjælp af mkdir [mappe] kommando, hvor du vil oprette dette projekt.
  2. Type cd [mappe] i kommandoprompten for at flytte til det nye bibliotek.
  3. Type virtualenv [Miljønavn] at skabe et virtuelt miljø.
  4. Aktiver det virtuelle miljø ved at skrive [Miljønavn] Scripts aktiver

Installer nødvendige pakker

Installer de nødvendige Python -pakker ved hjælp af pip -kommandoen. Sørg for, at du har pip installeret på dit system .



Kør følgende kommando i din kommandoprompt.

pip3 install opencv-python qrcode numpy Image

Hvis du ikke vil installere alle pakker på én gang, kan du installere dem en efter en som:





pip3 install opencv-python

Dette installerer opencv-python-pakken, der hovedsageligt bruges til computersyn, maskinlæring og billedbehandling.

pip3 install qrcode

Dette installerer qrcode python -pakken, der bruges til at generere og læse QR -koder.





pip3 install numpy

Dette installerer numpy python -pakken, der bruges til at arbejde med arrays.

pip3 install Image

Dette installerer Image python -pakken, som giver en række funktioner til at indlæse billeder fra filer og til at oprette nye billeder.

Generer QR -kode

For at generere koden skal du oprette en ny fil med en .py udvidelse, der har koden til at generere QR -koden.

Indsæt følgende kode i din Python -fil, og kør programmet.

har du brug for ps plus for at spille fortnite
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)

Dette vil oprette et QR -kodebillede (MUOQRCode.png) for de givne data (i dette tilfælde www.makeuseof.com ). Den genererede QR -kode vil se sådan ud:

Generer en tilpasset QR -kode

Du kan tilpasse QR -koden med de fantastiske funktioner i qrcode -biblioteket. Du kan ændre fyldfarve, baggrundsfarve, billedstørrelse, boksestørrelse og kanttykkelse på QR -koden.

Ændring af billede og boksstørrelse

Du kan ændre billedstørrelsen på QR -koden ved hjælp af version parameter i QRCode -klassen. Det accepterer et helt tal mellem 1 og 40, hvor 1 svarer til 21x21 matrix og 40 svarer til 185x185 matrix. Bemærk, at dataene ikke passer i den angivne størrelse, versionen skaleres automatisk.

På samme måde kan du ændre boksens størrelse ved hjælp af box_size parameter i QRCode -klassen. Det angiver pixlerne for hver boks i QR -koden.

# 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)

Følgende billedfil til QR -kode genereres:

Følgende output vises også:

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

Bemærk, at versionen automatisk skaleres i henhold til størrelsen på dataene.

Ændring af fyldfarve

Du kan ændre påfyldningsfarven på QR -koden ved at bruge fyld_farve 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)

Følgende billedfil til QR -kode genereres:

Ændring af baggrundsfarve

Du kan ændre baggrundsfarven på QR -koden ved hjælp af bagfarve 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)

Følgende billedfil til QR -kode genereres:

Ændring af grænsetykkelse

Du kan ændre græntykkelsen på QR -koden ved hjælp af grænse parameter i QRCode -klassen.

# 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)

Følgende billedfil til QR -kode genereres:

Afkode QR -kode ved hjælp af QR -kodebillede

Du kan afkode oplysninger fra QR -kodebilledet ved hjælp af Pythons OpenCV -bibliotek. OpenCV har en indbygget QR -kode detektor. Ved hjælp af detektoren kan du afkode data ud af QR -koden.

# 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')

Hvis billedet er en gyldig QR -kode, vises afkodede data. I dette tilfælde genereres følgende output-

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

Afkode QR -kode Live ved hjælp af et webcam

Det meste af tiden har folk en tendens til at bruge et webcam til at scanne QR -koder. Ved hjælp af potentialet i Python og OpenCV bibliotek kan du nemt afkode data fra en QR -kode.

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()

Når du udfører denne kode, åbnes dit webcam automatisk. Bare hold QR -koden foran webkameraet, og dataene vil blive afkodet og vises i kommandoprompten.

Kodning og afkodning af QR -kode gjort let

Ved hjælp af denne artikel kan du nemt kode, afkode og tilpasse QR -koder, som du vil. Du kan endda oprette en komplet QR-kode Scanner-Generator-applikation ved hjælp af den medfølgende kode.

Der er en række kreative måder at bruge QR -koder på. Vær kreativ, og brug QR -koderne, som du vil.

Del Del Tweet E -mail Sådan scannes en QR -kode på Android og iPhone

Der er en QR-kodescanner forudinstalleret på både Android og iPhone. Sådan bruges det.

Læs Næste
Relaterede emner
  • Programmering
  • QR kode
  • Python
Om forfatteren Yuvraj Chandra(60 artikler udgivet)

Yuvraj er en datalogi bachelorstuderende ved University of Delhi, Indien. Han brænder for Full Stack Web Development. Når han ikke skriver, undersøger han dybden af ​​forskellige teknologier.

hvordan man tilslutter en switch til et tv
Mere fra Yuvraj Chandra

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for at få tekniske tips, anmeldelser, gratis e -bøger og eksklusive tilbud!

Klik her for at abonnere