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

Posted 梦想橡皮擦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python3解析二维码翻遍全网找到 2 款库推荐给大家~相关的知识,希望对你有一定的参考价值。

文章目录

⛳️ 实战场景

上一篇博客,我们整理了 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 篇原创博客

从订购之日起,案例 5 年内保证更新

以上是关于Python3解析二维码翻遍全网找到 2 款库推荐给大家~的主要内容,如果未能解决你的问题,请参考以下文章

我怀疑这是IDEA的BUG,但是我翻遍全网没找到证据!

翻遍全网,Chrome 灵魂插件!

翻遍全网,堪称神器的Chrome插件务必收藏

全网最强搜索引擎,资源任搜!

每日推荐MySQL实战45讲

怎样用python解析二维码?