py3 win64识别二维码
最近有个项目要识别二维码,上网查了好久,要不只支持py2 要不支持win64位的,而且要下载安装包好多还装不上,而且好多都是上古时代的方法了,最后兜兜转转找到找到了很轻松的方法
首先我安装anaconda 版本的py3 ,强烈建议大家用anaconda的,安装模块的时候不知道有多爽,比如说如果你想安装个scrapy 用原生的话要要自己找教程一步步下载安装一大堆包,还经常报错,而用anaconda的话只需要pip install scrapy 就可以了,就是这么任性!!!
好废话少说,下面进入正题
1, pip install pyzbar
官网在这https://pypi.org/project/pyzbar/ ,已经支持各版本和系统
2,识别二维码还需要PIL库,查到PIL库不支持py3 还好有个更强大的Pillow
pip install pillow
官网在这http://pillow.readthedocs.io/en/5.2.x/
好了,模块就安装好了
复制官网的代码来测试下
>>> from pyzbar.pyzbar import decode >>> from PIL import Image >>> decode(Image.open('wx2.jpg'))
输出结果:
[Decoded(data=b'https://weixin.qq.com/g/ARIsWP9docQCrLgp', type='QRCODE', rect=Rect(left=181, top=780, width=718, height=718), polygon=[Point(x=181, y=780), Point(x=181, y=1497), Point(x=899, y=1498), Point(x=899, y=780)])]
正确识别,666
遗憾的是我随后测试了一些涂改过或者用手机拍的二维码图片,却识别不出来,但微信扫一扫却可以正确识别,用Pillow变换过再识别效果应该会好一些,如果大家有更好的方法也请跟我说下吧。