每日一模块-生成二维码
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:SunXiuWen
# datetime:2022/7/11 0011
"""
pip install pillow
pip install qrcode
"""
import qrcode
# 0. 命令行生成二维码
# > qr "learnPython" >your_image.png
# 1. 代码生成qr码,保存二维码图片
img = qrcode.make("your-data") # 除了基本的文字之外,我们还可以将许多其他形式的数据放入 QR 图像中:例如 Web URL、字符序列、数字等
img.save("file_name.png")
# 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()
other_img.save("just-add.png")
# 如果我们希望覆盖掉以前的信息,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()
other_img.save("revise.jpg")
# 使用Opencv读取QR码
"""
一般来说,我们通常可以用手机来检测QR码中包含的消息,但我们是程序员,让我们用程序的方式来获取相应的信息。
此时我们需要用到OpenCV库,也可以通过pip来进行安装,命令如下:
pip3 install opencv-python
"""
# 此时我们需要做的就是先将QR图像读取到我们的 Python 中,
# 然后构建一个 QR 检测器。紧接着,我们就可以从二维码中读取数据了!
# 通过运行上述代码,我们可以看出和手机扫码获取同样的输出
import cv2
img = cv2.imread("just-add.png")
detector = cv2.QRCodeDetector()
data, bbox, straight_qrcode = detector.detectAndDecode(img)
print(data)
# Hello, there
人生苦短,我用python!