【Python3解析二维码】翻遍全网找到 2 款库推荐给大家~

举报
梦想橡皮擦 发表于 2023/01/25 17:45:10 2023/01/25
【摘要】 ⛳️ 实战场景上一篇博客,我们整理了 4 款 Python 二维码模块,发到社群之后,有小伙伴反馈非常棒,那是不是应该写一篇解析二维码的博客呢?这必须安排一下,《如果你需要用 Python 搞个二维码,那应该收藏这篇博客》。这一次我们继续寻找好用的 Python 第三方模块,用来解析二维码。 ⛳️ pyzbar 解析二维码模块安装命令如下所示:pip install pyzbar解析二维码...

⛳️ 实战场景

上一篇博客,我们整理了 4 款 Python 二维码模块,发到社群之后,有小伙伴反馈非常棒,那是不是应该写一篇解析二维码的博客呢?

这必须安排一下,《如果你需要用 Python 搞个二维码,那应该收藏这篇博客》

这一次我们继续寻找好用的 Python 第三方模块,用来解析二维码

⛳️ pyzbar 解析二维码

模块安装命令如下所示:

pip install pyzbar

解析二维码图片时,需要先使用 pillow 模块的 Image 类,将图片进行实例化。

示例代码如下所示:

from PIL import Image
import pyzbar.pyzbar as pyzbar

filename = './qrcode.png'
img = Image.open(filename)
print(img)
barcodes = pyzbar.decode(img)
print(barcodes)

运行代码如下所示,其中 data 就是二维码解析出的字符串。

如果想要输出文本内容,使用如下代码:

print(pyzbar.decode(img)[0].data.decode("utf-8"))

使用 pyzbar 模块,还需要了解一下 ZBar 库,pyzbar 就是是通过 Python2 和 3 接口,调用 ZBar 读取条形码和二维码的模块。

⛳️ cv2 解析二维码

opencv 模块也具备解析二维码的功能,模块安装命令如下所示:

pip install opencv-python

模块导入使用 import cv2,在使用 opencv 解析二维码的时候,需要注意图片路径中不要携带中文。

import cv2

qrcode_filename = "./qrcode.png"
qrcode_image = cv2.imread(qrcode_filename)
qrcodedetector = cv2.QRCodeDetector()
data, bbox, straight_qrcode = qrcodedetector.detectAndDecode(qrcode_image)

print(data) # 打印解析内容

使用 opencv 解析二维码的效率略微有些低,使用的时候可以用作备选方案。

总结

实战中有时候还会用到一个 zxing 模块解析二维码,但由于其解析模块的核心不是使用 Python 实现的,顾本篇博客不做说明,有兴趣的同学可以自行搜索研究。

还有一个曲线路径可以实现二维码解析,即调用 X 料二维码这些第三方平台提供的 API,实现生产和解析操作。有些博客会使用 zbar 模块直接解析二维码,需要注意的是 zbar 不支持 Python3。

你还有其它 Python 解析二维码的好用模块么,评论区推荐给我吧!

📢📢📢📢📢📢
💗 你正在阅读 【梦想橡皮擦】 的博客
👍 阅读完毕,可以点点小手赞一下
🌻 发现错误,直接评论区中指正吧
📆 橡皮擦的第 725 篇原创博客

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。