# 二维码有关库 opencv-python+numpy解码 pillow图像处理 qrcode做二维码 zxing解码 MyQr制作gif二维码 pyzbar解码
import qrcode
import cv2 as cv
from pyzbar import pyzbar as pyzbar
import time
import os
# import psutil
qr = qrcode.QRCode(
version=1,
# version:值为1~40的整数,控制二维码的大小(最小值是1,是个12×12的矩阵)。
# 如果想让程序自动确定,将值设置为 None 并使用 fit 参数即可。
error_correction=qrcode.constants.ERROR_CORRECT_L,
# error_correction:控制二维码的错误纠正功能。可取值下列4个常量。
# ERROR_CORRECT_L:大约7%或更少的错误能被纠正。
# ERROR_CORRECT_M(默认):大约15%或更少的错误能被纠正。
# ROR_CORRECT_H:大约30%或更少的错误能被纠正。
box_size=10,
border=4,
# box_size:控制二维码中每个小格子包含的像素数。
# border:控制边框(二维码与图片边界的距离)包含的格子数(默认为4,是相关标准规定的最小值)
)
neirong = 'https://blog.csdn.net/asdasdas3241654'
qr.add_data(neirong)
# 二维码内容
qr.make(fit=True)
img = qr.make_image()
img.save('D:/code/qr_code.png')
# 保存的文件名
os.system('D:/code/qr_code.png')
# 执行打开,并等待10s
time.sleep(10)
# Microsoft.Photos.exe 执行关闭
os.system("taskkill /F /IM Microsoft.Photos.exe")
# 读取二维码
imagepath = "qr_code.png"
# 图片路径
image = cv.imread(imagepath, 0)
# 转为灰度图片 0表示转换灰度
barcodes = pyzbar.decode(image)
# 在图像中对二维码解码
for barcode in barcodes:
barcodeData = barcode.data.decode("UTF8")
barcodeType = barcode.type
# 打印二维码数据和二维码类型
print(barcodeData)
print("数据类型为:%s" % barcodeType)
# 判断一下字符串是否正确吧
if neirong == barcodeData:
print("数据没错")
else:
print("数据有问题")
制作动态二维码,或者奇奇怪怪的二维码,自行查找qrcode,myqr等其他第三方库的使用方法。