Python生成+识别二维码

♀尐吖头ヾ 提交于 2020-01-31 05:11:17

二维码(QR Code),使用平面图案存储信息,根据白0黑1的算机内部逻辑,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理,记录好所有数据后查询Unicode表,将二进制编码转换成十六进制的编码,最后找出该Unicode值相对应的文字。

  • 运行命令行工具(cmd),使用pip安装工具分别安装qrcode、pyzbar
pip install qrcode
pip install pyzbar

生成二维码

import qrcode

# 二维码内容
data = "hello world!"

qr = qrcode.QRCode(
    version=4,  # 整数(1-40)
    error_correction=qrcode.constants.ERROR_CORRECT_L,  # 二维码的纠错范围
    box_size=100,  # 每个点(方块)中的像素个数
    border=4  # 二维码距图像外围边框距离,默认为4,而且相关规定最小为4
)

# 将数据添加到此QR码。
qr.add_data(data)
# 将数据编译为QR Code数组。
qr.make(fit=True)

# 生成二维码
img = qr.make_image()
# 直接显示二维码
img.show()
# 保存二维码为文件
img.save("hello.jpg")

结果如下:

识别二维码

import pyzbar.pyzbar as pyzbar
from PIL import Image

# 图片路径
image = "hello.jpg"

img = Image.open(image)

# 解码 image 中的 datamatrix 条形码
barcodes = pyzbar.decode(img)

barcodeData = ""
for barcode in barcodes:
    barcodeData += barcode.data.decode("utf-8")

print(barcodeData)

结果如下:

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!