识别二维码、并保存二维码链接至csv文件

识别二维码

上一篇博文已经制作了一个二维码,现在是如何把它识别出来,(当然识别出来的是一个链接,并把它保存起来)
使用的工具是pycharm
识别二维码无非就是调用open cv 来识别,代码大同小异

import cv2
from pyzbar import pyzbar
import csv

# 然后我们设置一个变量,来存放我们扫到的二维码信息,我们每次扫描一遍都会要检测扫描到的二维码是不是之前扫描到的,
# 如果没有就存放到这里。接着我们调用opencv的方法来实例化一个摄像头,
# 最后我们设置一些我们存放二维码信息的表格的路径。
found = set()
capture = cv2.VideoCapture(0)

# 存放数据的表格
qrcsv = "二维码链接.csv"

# 然后我们要写一个死循环,我们要不停的用摄像头来采集二维码,
# 所以要在死循环里来写二维码采集的代码。
while True:
    # 首先我们要用刚才实例化的摄像头来采集实时的照片,
    ret, frame = capture.read()

    # 然后用pyzbar的函数来解析图片里面是否有二维码
    # 找到图像中的条形码并进行解码
    test = pyzbar.decode(frame)

    # 循环检测到的条形码
    for tests in test:
        # 先将它转换成字符串
        testdate = tests.data.decode('utf-8')
        testtype = tests.type

        # 绘出图像上条形码的数据和条形码类型
        printout = "{} ({})".format(testdate, testtype)

        if testdate not in found:
            # 向终端打印条形码数据和条形码类型
            print("[INFO] Found {} barcode: {}".format(testtype, testdate))
            print(printout)
        # 存放扫描数据
        if testdate not in found:
            with open(qrcsv, 'a+',newline='') as f:  #newline=''不会出现空行
                # a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
                csv_write = csv.writer(f)
                date = [testdate]
                csv_write.writerow(date)
            found.add(testdate)
    cv2.imshow('Test', frame)
    if cv2.waitKey(1) == ord('q'):
        break

运行结果如下
在这里插入图片描述

在这里插入图片描述
并且会生成一个名为 二维码链接的csv文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值