Guide to Generating & Testing QRcode Using OpenCV

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

Hands-On Implementation

Now, we will implement our program on QR Code creation.

 Importing required libraries

import cv2

THE BELAMY

Sign up for your weekly dose of what's up in emerging technology.

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

installing pyzbar

In the below code snippet we are installing the dependencies of the pyzbar library.

!apt install libzbar 

QR code in Python
installing lizar

Creating a QR code scanner

import qrcode

img = qrcode.make('https://analyticsindiamag.com/')

print(type(img))

print(img.size)

img.save('/content/qrcode_test.png')

image = cv2.imread("/content/qrcode_test.png")

cv2_imshow(image)

QR code in Python
Generated QR code

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("Type:", obj.type)

    print("Data:", obj.data, "\n")

Data = obj.data

cv2_imshow(image)

cv2.waitKey(0)

QR code in Python
Scanning QR code

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.

Conclusion

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. 

More Great AIM Stories

Prudhvi varma
AI enthusiast, Currently working with Analytics India Magazine. I have experience of working with Machine learning, Deep learning real-time problems, Neural networks, structuring and machine learning projects. I am a Computer Vision researcher and I am Interested in solving real-time computer vision problems.

Our Upcoming Events

Conference, in-person (Bangalore)
Machine Learning Developers Summit (MLDS) 2023
19-20th Jan, 2023

Conference, in-person (Bangalore)
Rising 2023 | Women in Tech Conference
16-17th Mar, 2023

Conference, in-person (Bangalore)
Data Engineering Summit (DES) 2023
27-28th Apr, 2023

Conference, in-person (Bangalore)
MachineCon 2023
23rd Jun, 2023

Conference, in-person (Bangalore)
Cypher 2023
20-22nd Sep, 2023

3 Ways to Join our Community

Whatsapp group

Discover special offers, top stories, upcoming events, and more.

Discord Server

Stay Connected with a larger ecosystem of data science and ML Professionals

Subscribe to our newsletter

Get the latest updates from AIM