【日常点滴006】只要3行代码,在python3中pyzbar识别和qrcode制作二维码,简单到想要撞墙,走过路过不要错过。

在网上浏览了无数版本 最后决定看官方文档 竟然这么简单。。我。了。个。去。。 

qrcode制作    pyzbar识别 (二维码,一维码,视频里的码都可以识别)

好吧 生成和识别都很容易,至于结果要怎么用 看你自己需求了

因为涉及到图像:以下均使用到python强大的pillow包 如果没有的在pycharm里装就行 省的麻烦

1:制作二维码

   用qrcode   安装命令用 pip install qrcode  在pycharm里直接装也行

import qrcode
from PIL import Image
qrcode.make('http://www.xytqd.club/juhe').show() #在pycharm上直接显示
#完成 以下代码可以自己玩着操作
#img = qrcode.make('http://www.xytqd.club/juhe')
#img.show()
#img.save() // 保存在哪里自己定

 

# 这是在内存中临时操作生成的二维码, 用完以后就会删掉 不用再取磁盘读写
import qrcode

from django.utils.six import BytesIO
qcode = qrcode.make('http://www.xytqd.club/juhe')
bu = BytesIO()
qcode.save(bu, 'png')
rr=bu.getvalue()

print(rr)
bu.close()
# 会输出一组二进制数据  用这个就可以给前端传数据 比如换成str格式后再jsonResponse--*****

 

2:识别二维码 (官方文档:https://pypi.org/project/pyzbar/

      用pyzbar 三个很小的包需要安    安装命令用 pip install pyzbar     pip install pyzbar[scripts]  不同的操作系统额外需安装的包见下图 在pycharm里直接装没有的话就在终端用命令装 


pyzbar用法如下:结果的四个坐标是二维码图片的四个角的位置(因为我的图片里不只有二维码,还有其他元素)

from pyzbar.pyzbar import decode
from PIL import Image
a=decode(Image.open('Weixin.jpg'))
print(a)
print(str((a[0].data)).split("\'")[1])

# 这是第二个print里我要的结果 wxp://f2f0KLocHvp4GBtESDS2-jJylmT9ApxomM8H 去在线的解码网站上也试了 一模一样  
#如果一张图片里有多张二维码 依然可以识别 对上面的 a 进行循环操作再打印即可
#下面引号里是第一个print的结果
'''
[Decoded(data=b'wxp://f2f0KLocHvp4GBtESDS2-jJylmT9ApxomM8H',
         type='QRCODE', rect=Rect(left=276, top=297, width=527, height=527), 
         polygon=[Point(x=276, y=297), Point(x=276, y=823), Point(x=803, y=824), 
                  Point(x=802, y=297)])]
'''

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值