首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

每日一模块:qrcode

二维码现在应用到生活的方方面面,每天通过二维码刷地铁,消费,二维码为我们生活带来了效率与便捷,而工作中例如做仓库管理,物品现在都会生成一个二维码,便于管理与搜索。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

  • 发表于:
  • 原文链接https://page.om.qq.com/page/Op0QbMWIUtyMcwzwjDhpm7XA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券