利用opencv识别二维码,并判断是否有权限

#导库,而 pyzbar 是通过 Python2和3接口,使用 ZBar 库读取一维条形码和QR码 
import cv2
import numpy as np
from pyzbar.pyzbar import decode
 
#打开摄像头
#img = cv2.imread('1.png')
cap = cv2.VideoCapture(0)
#设置窗口大小
cap.set(3,640)
cap.set(4,480)

#按行打开权限文件
with open('myDataFile.text') as f:
    myDataList = f.read().splitlines()
#循环读取
while True:
    #返回视频的下一帧
    success, img = cap.read()
    #循环读取二维码
    for barcode in decode(img):
        #设置编码格式,读取二维码数据
        myData = barcode.data.decode('utf-8')
        print(myData)
         #如果读取的数据在权限文件中,则有权限,并把颜色设置为绿色;否则,显示无权限,颜色设置红色
        if myData in myDataList:
            myOutput = 'Authorized'
            myColor = (0,255,0)
        else:
            myOutput = 'Un-Authorized'
            myColor = (0, 0, 255)
         #矩形框坐标点
        pts = np.array([barcode.polygon],np.int32)
        pts = pts.reshape((-1,1,2))
        #画矩形框
        cv2.polylines(img,[pts],True,myColor,5)
        #获取二维码的边界框
        pts2 = barcode.rect
        #在图片上标注文字
        cv2.putText(img,myOutput,(pts2[0],pts2[1]),cv2.FONT_HERSHEY_SIMPLEX,
                    0.9,myColor,2)
 
    cv2.imshow('Result',img)
    cv2.waitKey(1)

需要自己创建一个权限文件,权限文件有扫描二维码的信息,则显示有权限。
利用opencv识别二维码,并判断是否有权限_第1张图片
参考:https://www.bilibili.com/video/BV18B4y1c7r4/?p=5&vd_source=8073a87adf278a421274df509a29a81a

你可能感兴趣的:(opencv,python,计算机视觉)