【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 篇原创博客
- 点赞
- 收藏
- 关注作者
评论(0)