原创

Python-生成二维码、识别二维码

一、使用Qrcode生成二维码

1、安装依赖库

pip install qrcode

2、qrcode简单使用

import qrcode

# 二维码内容
data = "https://supernb.cn"

# 生成二维码
img = qrcode.make(data)

# 显示二维码
img.show()

3、qrcode进阶用法

import qrcode

qrcodes = qrcode.QRCode(
    version=5,  # 二维码的格子矩阵大小,可以是1到40,1最小为21*21,40是177*177
    error_correction=qrcode.constants.ERROR_CORRECT_L,  # 二维码错误容许率,默认ERROR_CORRECT_M,容许小于15%的错误率
    box_size=5,  # 二维码每个小格子包含的像素数量
    border=4,  # 二维码到图片边框的小格子数,默认值为4
)

data = "https://supernb.cn"

qrcodes.add_data(data)

qrcodes.make(fit=True)
# fill_color 二维码像素颜色
# back_color 二维码背景颜色
img = qrcodes.make_image(fill_color="red", back_color="white")
# 显示
img.show()


4、在二维码上加logo

#安装PIL
pip install pillow
from PIL import Image
import qrcode

qrcodes = qrcode.QRCode(
    version=5,  # 二维码的格子矩阵大小,可以是1到40,1最小为21*21,40是177*177
    error_correction=qrcode.constants.ERROR_CORRECT_H,  # 二维码错误容许率
    box_size=5,  # 二维码每个小格子包含的像素数量
    border=4,  # 二维码到图片边框的小格子数,默认值为4
)

data = "https://supernb.cn"

qrcodes.add_data(data)

qrcodes.make(fit=True)
# fill_color 二维码像素颜色
# back_color 二维码背景颜色
img = qrcodes.make_image(fill_color="red", back_color="white")

# logo文件
icon = Image.open("logo.ico")
# 获取logo大小
icon_w,icon_h = icon.size

# 二维码大小
img_w,img_h = img.size

# 计算二维码四分之一大小
img_w_size = int(img_w/4)
img_h_size = int(img_h/4)

# 如果logo尺寸大于二维码的4分之一,把logo尺寸定义成二维码四分之一的大小
if icon_w > img_w_size:
    icon_w = img_w_size

if icon_h > img_h_size:
    icon_h = img_h_size

# 改变logo大小
icon = icon.resize((icon_w,icon_h),Image.ANTIALIAS)

# logo转RGBA
icon = icon.convert("RGBA")

# 计算logo在二维码上的位置
w = int((img_w-icon_w)/2)
h = int((img_h-icon_h)/2)

# 二维码、Logo合成
img.paste(icon,(w,h),icon)


# 显示
img.show()

二、识别二维码

1、安装依赖库

pip install zxing

2、识别二维码

import zxing

read = zxing.BarCodeReader()

# 读取二维码
res = read.decode("ewm.jpg")

print(res.parsed)
正文到此结束
评论

登录后才能发表评论 登录/注册

0评论
  • 还没有评论,快来抢沙发吧!