MITB Banner

Guide to Generating & Testing QRcode Using OpenCV

Share

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

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. 

Share
Picture of Prudhvi varma

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.
Related Posts

CORPORATE TRAINING PROGRAMS ON GENERATIVE AI

Generative AI Skilling for Enterprises

Our customized corporate training program on Generative AI provides a unique opportunity to empower, retain, and advance your talent.

Upcoming Large format Conference

May 30 and 31, 2024 | 📍 Bangalore, India

Download the easiest way to
stay informed

Subscribe to The Belamy: Our Weekly Newsletter

Biggest AI stories, delivered to your inbox every week.

AI Forum for India

Our Discord Community for AI Ecosystem, In collaboration with NVIDIA. 

Flagship Events

Rising 2024 | DE&I in Tech Summit

April 4 and 5, 2024 | 📍 Hilton Convention Center, Manyata Tech Park, Bangalore

MachineCon GCC Summit 2024

June 28 2024 | 📍Bangalore, India

MachineCon USA 2024

26 July 2024 | 583 Park Avenue, New York

Cypher India 2024

September 25-27, 2024 | 📍Bangalore, India

Cypher USA 2024

Nov 21-22 2024 | 📍Santa Clara Convention Center, California, USA

Data Engineering Summit 2024

May 30 and 31, 2024 | 📍 Bangalore, India

Subscribe to Our Newsletter

The Belamy, our weekly Newsletter is a rage. Just enter your email below.