二维码现在应用到生活的方方面面,每天通过二维码刷地铁,消费,二维码为我们生活带来了效率与便捷,而工作中例如做仓库管理,物品现在都会生成一个二维码,便于管理与搜索。python中一般使用模块qrcode来生成二维码。
一、什么是二维码?
二维码(2-Dimensional Bar Code),是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的。它是指在一维条码的基础上扩展出另一维具有可读性的条码,使用黑白矩形图案表示二进制数据,被设备扫描后可获取其中所包含的信息。一维条码的宽度记载着数据,而其长度没有记载数据。二维条码的长度、宽度均记载着数据。二维条码有一维条码没有的“定位点”和“容错机制”。容错机制在即使没有辨识到全部的条码、或是说条码有污损时,也可以正确地还原条码上的信息。生活中用到最多的就是二维条码-QR码了。
二、安装?
pip install pillow 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('龙年')
qr.add_data('大吉')
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
领取专属 10元无门槛券
私享最新 技术干货