利用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)

需要自己创建一个权限文件,权限文件有扫描二维码的信息,则显示有权限。
在这里插入图片描述
参考:https://www.bilibili.com/video/BV18B4y1c7r4/?p=5&vd_source=8073a87adf278a421274df509a29a81a

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值