1.前言:
最近想要用树莓派扫描解析二维码,网上的教程很多,但千篇一律,刚按部就班的操作没几步,就遇到了致命的问题:那就是大名鼎鼎的"zbar" / "pyzbar" / "python-zbar"他们通通不支持在python3环境下运行,所以很多同样按照网上zbar教程进行操作的小伙伴们,历经千辛万苦,好不容易安装好了所有模块,结果就是" no module named 'zbar' ",有够让人崩溃.如果你十分确定你已经完整的顺利的安装了所需的模块,却仍然显示" no module named 'zbar' ",那么去检查一下你的python版本吧,如果你是python3环境下开发,那么这条路就走不通了.
2.安装:
pip install qrcode pyzbar #依次安装qrcode和pyzbar
依靠pip进行安装,非常的简单,国内下载过程较慢,需要耐心等待片刻.
安装Successfully之后就可以愉快的进行二维码的生成及解析了.
3.实践:
3.1使用qrcode生成二维码
example1:我们以生成一个内容为"https://www.baidu.com"的二维码为例
#引用qrcode模块
import qrcode
# 二维码内容
data = "https://www.baidu.com"
# 生成二维码
img = qrcode.make(data=data)
# 直接显示二维码
img.show()
# 保存二维码为文件到当前目录(被注释掉)
img.save("baidu.jpg")
example2:我们可以定制化二维码的外观,例如尺寸、颜色
#引用qrcode模块
import qrcode
# 实例化二维码生成类
qr = qrcode.QRCode(
??? version=1,
??? error_correction=qrcode.constants.ERROR_CORRECT_L,
??? box_size=5,
??? border=10,
)
# 设置二维码数据
data = "https://www.baidu.com"
qr.add_data(data=data)
# 启用二维码颜色设置
qr.make(fit=True)
img = qr.make_image(fill_color="red", back_color="green")
# 显示二维码
img.show()
祝大家虎年大吉~
3.2使用zxing识别二维码
example:我们以识别3.1中生成的二维码为例
#引用zxing模块
import zxing
#实例画二维码扫描器
reader = zxing.BarCodeReader()
#解码"baidu.jpg"图像
barcode = reader.decode("baidu.jpg")
#打印解析内容
print(barcode.parsed)
??运行结果如图
4.总结
因此,在python3环境下我们可以依靠qrcode和zxing模块,简单来说,生成二维码靠qrcode,解析二维码靠zxing.
|