1. 引言

QR码是二维码的一种,相比普通一维条码具有快速读取和更大的数据存储容量。因此QR码的应用范围已经扩展到包括物品识别,文档管理等生活中的方方面面。本文重点介绍如何在Python中快速生成QR码。

2. 安装 qrcode

在Python中安装qrcode非常方便,可以直接使用pip进行安装,命令如下:

pip3 install qrcode

3. 命令行操作

安装完qrcode后,我们可以使用命令行来生成对应的二维码图像。
样例代码如下:

qr "Hello,there" > your_image_name.png

运行上述代码后,我们可以获得相应的二维码图像,如下所示:
在这里插入图片描述
接着,我们就可以使用手机扫描上述二维码,查看里面包含的文字信息,是不是超级方便。。。

4.使用Python生成

当然我们不仅仅可以使用命令行生成对应的二维码,我们也可以使用万能的Python进行相应的操作。

4.1 生成 QR 码

在Python中生成相应的QR码也是非常简单的,我们仅仅需要导入相应的库,并传入我们需要包含的信息即可,样例代码如下:

import qrcode
img = qrcode.make('data')
img.save("some_file.png")

除了基本的文字之外,我们还可以将许多其他形式的数据放入 QR 图像中:例如 Web URL、字符序列、数字等。

4.2 QR码添加信息

假如我们现在得到一个二维码,并且我们希望在原始的消息之上添加一些信息,此时我们可以使用 qrcode 提供的 add_data 函数,样例代码如下:

import qrcode
qr = qrcode.QRCode()
qr.add_data('your data1')
qr.add_data('your data2')
other_img = qr.make_image()

如果我们希望覆盖掉以前的信息,add_data函数也非常方便。我们需要做的就是额外添加另一个clear() 函数。代码如下:

import qrcode

qr = qrcode.QRCode()
qr.add_data('your data1')
img = qr.make_image()
qr.clear()
qr.add_data('your data2')
other_img = qr.make_image()

4.3 使用Opencv读取QR码

一般来说,我们通常可以用手机来检测QR码中包含的消息,但我们是程序员,让我们用程序的方式来获取相应的信息。此时我们需要用到OpenCV库,也可以通过pip来进行安装,命令如下:

 pip3 install opencv-python 

此时我们需要做的就是先将QR图像读取到我们的 Python 中,然后构建一个 QR 检测器。紧接着,我们就可以从二维码中读取数据了!
代码如下:

import cv2
img = cv2.imread("some_text.png")
detector = cv2.QRCodeDetector()
data, bbox, straight_qrcode = detector.detectAndDecode(img)
print(data)
# Hello, there

通过运行上述代码,我们可以看出和手机扫码获取同样的输出。

5. 总结

本文重点介绍了在Python中如何方便地使用第三方库qrcode来生成相应的二维码图像,同时介绍了如何使用OpenCV来获取二维码图像中的信息。

您学废了吗?

在这里插入图片描述
关注公众号《AI算法之道》,获取更多AI算法资讯。

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐