Python生成+识别二维码

二维码(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)

结果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值