怎样用python解析二维码

Python072

怎样用python解析二维码,第1张

# -*- coding:utf-8 -*-

import zbar

from PIL import Image

 

# 创建图片扫描对象

scanner = zbar.ImageScanner()

# 设置对象属性

scanner.parse_config('enable')

 

# 打开含有二维码的图片

img = Image.open('<你的图片路径>').convert('L')

#获取图片的尺寸

width, height = img.size

 

#建立zbar图片对象并扫描转换为字节信息

qrCode = zbar.Image(width, height, 'Y800', img.tobytes())

scanner.scan(qrCode)

 

data = ''

for s in qrCode:

    data += s.data

 

# 删除图片对象

del img

 

# 输出解码结果

print data

python中专门有生成条形码和二维码的库, 这里简单介绍一下实现过程,代码量不多,也很好理解,实验环境win10+python3.6+pycharm5.0,主要内容如下:

制作条形码

这里有2个库,分别是pybarcode和pystrich,可以直接根据输入的数字生成条形码,下面我简单介绍一下这2个库的安装和使用:

1.安装pybarcode,这个直接在cmd窗口输入安装命令“pip install pybarcode”就行,如下,很快就能安装成功:

安装完成后,我们就可以编写相关代码来实现制作条形码了,测试代码如下,很简单,这里以生成ean13条形码为例,程序默认会将条形码保存为png格式:

生成的条形码如下:

2.安装pystrich,这个与上面类似,直接在cmd窗口输入命令“pip install pystrich”就行,如下:

安装成功后,我们就可以编写测试代码了,如下,很简单:

生成的条形码如下:

制作二维码

这里有一个库qrcode,专门用于制作二维码,这个我以前也介绍过,下面我再简单介绍一下这个库的安装和使用:

1.安装qrcode,这个直接在cmd窗口输入命令“pip install qrcode”就行,如下:

2.安装成功后,我们就可以编写相关代码来生成二维码了,测试代码如下,很简单,也很好理解:

点击运行程序,生成的二维码如下:

手机扫描效果如下,如果是网址,会直接跳转到对应网页,如果是文字,则解析出对应内容:

至此,我们就完成了利用python来制作条形码和二维码。总的来说,整个过程不难,都有现成的库可以直接使用,代码量也不多,很好理解,只要你有一定的python基础,熟悉一下相关示例和代码,很快就能掌握的,网上也有相关教程和资料,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言。

我用 Pillow 的 Image 模块试了一下,生成图片如下,尺寸是 210*210,21*21 的太小了显示效果不好,你可以改代码调整尺寸的 (我重新编辑了图片,划花了,不然会被识别成二维码被系统吞掉)

代码如下:

#!/bin/python

from PIL import Image

import random

import math

# 44100 像素点总和,改为 441 最后尺寸就是 21*21 了

all = [ random.choice(range(0,2)) for i in range(44100) ]

row = int(math.sqrt(len(all)))

col = row

img = Image.new('RGB', (row, col), 'white')

i = 0

for x in range(0, row - 1):

for y in range(0, col - 1):

if all[i] == 1:

img.putpixel((x,y), 0)

i += 1

img.save('qr.jpeg')

img.close()