Nowadays QR Code scanners have become popular because of their huge usage. QRcode stores some information in it. We can detect the QRcode from the image and we can decode the data in it. Mostly we can see QR codes are used by all e-payment apps and by their customers and every manufacturing product will have the product description in the form of a QRcode By just scanning the QRcode we will get info of that product. In this article, we will try to generate a QRcode and test a QRcode scanner with a few lines of code using the OpenCV modules pyzbar and qrcode.
Topics we cover in this article:-
- QR Code Generation in Python
- Introducing pyzbar module
- How to Generate your own QR code
- Scanning QR code using images
Now, we will implement our program on QR Code creation.
Importing required libraries
import numpy as np
from google.colab.patches import cv2_imshow
Introducing pyzbar library
Pyzbar is an OpenCV module that is used to decode the QRcode and it is distributed under MIT license. Using this library it illustrates type: whether it is barcode or QRcode, data: the alphanumeric information is hidden in QRcode, and location: edges of the QRcode in the image.
Installing pyzbar library
pip install pyzbar
In the below code snippet we are installing the dependencies of the pyzbar library.
Creating a QR code scanner
img = qrcode.make('https://analyticsindiamag.com/')
image = cv2.imread("/content/qrcode_test.png")
Here we generated a QRcode code and I stored the Analytics India magazine link in this QRcode so that when scanning this QRcode the link appears.
Scanning QR code using images
image = cv2.imread("/content/download (13).jpg")
scan = pyzbar.decode(image)
for obj in scan:
print("Data:", obj.data, "\n")
Data = obj.data
Here you can see we are getting the output type as QRcode and Data is the link we have given in the above snippet and we can try with any QRcode and it scans the information from the QRcode.
In this article, we demonstrated how to generate our own QRcode and how to scan QRcode and display information from it. Using OpenCV modules and a few lines of code in python we implemented the above code snippets.