qrcode模块安装

运行命令行工具(cmd),使用pip安装工具分别安装qrcode。

pip install qrcode 

 

先来个简单的例子

import qrcode

# 二维码内容
data = "hello world"
# 生成二维码
img = qrcode.make(data=data)
# 直接显示二维码
img.show()
# 保存二维码为文件
# img.save("hello.jpg")

效果

 

我们来修改配置等

import qrcode

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

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

qr.add_data(data)
qr.make(fit=True)

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

 

 安装pyzbar

pip install pyzbar

来测试

import pyzbar.pyzbar as pyzbar
from PIL import Image,ImageEnhance


image = "hello.jpg"

img = Image.open(image)

#img = ImageEnhance.Brightness(img).enhance(2.0)#增加亮度

#img = ImageEnhance.Sharpness(img).enhance(17.0)#锐利化

#img = ImageEnhance.Contrast(img).enhance(4.0)#增加对比度

#img = img.convert('L')#灰度化

img.show()

barcodes = pyzbar.decode(img)

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

 

测试一下

 

 

python3 + opencv +pyzbar 摄像头检测二维码并获取二维码内容

https://blog.csdn.net/zx66zx/article/details/82785334

# coding:utf8
 
import cv2
import pyzbar.pyzbar as pyzbar
 
def decodeDisplay(image):
    barcodes = pyzbar.decode(image)
    for barcode in barcodes:
        # 提取条形码的边界框的位置
        # 画出图像中条形码的边界框
        (x, y, w, h) = barcode.rect
        cv2.rectangle(image, (x, y), (x + w, y + h), (0, 0, 255), 2)
 
        # 条形码数据为字节对象,所以如果我们想在输出图像上
        # 画出来,就需要先将它转换成字符串
        barcodeData = barcode.data.decode("utf-8")
        barcodeType = barcode.type
 
        # 绘出图像上条形码的数据和条形码类型
        text = "{} ({})".format(barcodeData, barcodeType)
        cv2.putText(image, text, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX,
                    .5, (0, 0, 125), 2)
 
        # 向终端打印条形码数据和条形码类型
        print("[INFO] Found {} barcode: {}".format(barcodeType, barcodeData))
    return image
 
 
def detect():
 
    camera = cv2.VideoCapture(0)
 
    while True:
        # 读取当前帧
        ret, frame = camera.read()
        # 转为灰度图像
        gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
        im=decodeDisplay(gray)
 
        cv2.waitKey(5)
        cv2.imshow("camera", im)
 
    camera.release()
    cv2.destroyAllWindows()
 
 
if __name__ == '__main__':
    detect()

 

posted on 2019-07-01 15:42  陌鉎こ城sHi  阅读(2912)  评论(0编辑  收藏  举报