通过python扫描二维码/条形码并打印数据


Posted in Python onNovember 14, 2019

需提前安装好pyzbar和opencv-python库(博主的电脑安装opencv-python库比较麻烦,但大部分都不会出现该问题)

安装方法:打开命令框输入 pip install pyzbar/opencv- python

接下来介绍代码

#首先导入本次所需要的库,最后一个csv是Python自带的csv表格操作库,这里我们需要把我们扫到的二维码信息都存入csv表格里。
import cv2
from pyzbar import pyzbar
import csv
 
#然后我们设置一个变量,来存放我们扫到的码的信息,我们每次扫描一遍都会要检测扫描到的码是不是之前扫描到的,
# 如果没有就存放到这里。接着我们调用opencv的方法来实例化一个摄像头,
# 最后我们设置一些我们存放码信息的表格的路径。
found = set()
capture = cv2.VideoCapture(0)
#存放数据的表格
PATH = "test.csv"
#不停的用摄像头来采集条码,
while(1):
  # 首先我们要用刚才实例化的摄像头来采集实时的照片,
  ret,frame = capture.read()
  #找到图像中的条形码并进行解码
  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(PATH,'x+') as f:
      #x+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
        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

 如果遇到在命令符中无法安装opencv-python库的话,手动在该网址https://www.lfd.uci.edu/~gohlke/pythonlibs/下载对应的whl包,手动安装。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 模拟登陆的两种实现方法
Aug 10 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
Sep 08 Python
python分析作业提交情况
Nov 22 Python
python数字图像处理实现直方图与均衡化
May 04 Python
pygame游戏之旅 添加碰撞效果的方法
Nov 20 Python
对Django中static(静态)文件详解以及{% static %}标签的使用方法
Jul 28 Python
Python 调用 Outlook 发送邮件过程解析
Aug 08 Python
Python queue队列原理与应用案例分析
Sep 27 Python
pytorch模型预测结果与ndarray互转方式
Jan 15 Python
python实现定时发送邮件
Dec 23 Python
Python 带星号(* 或 **)的函数参数详解
Feb 23 Python
python自动计算图像数据集的RGB均值
Jun 18 Python
VSCode中自动为Python文件添加头部注释
Nov 14 #Python
python中的函数递归和迭代原理解析
Nov 14 #Python
使用python实现对元素的长截图功能
Nov 14 #Python
Pycharm创建项目时如何自动添加头部信息
Nov 14 #Python
python3实现单目标粒子群算法
Nov 14 #Python
python socket 聊天室实例代码详解
Nov 14 #Python
python中dict()的高级用法实现
Nov 13 #Python
You might like
第七节 类的静态成员 [7]
2006/10/09 PHP
利用PHP动态生成VRML网页
2006/10/09 PHP
PHP函数常用用法小结
2010/02/08 PHP
用PHP实现读取和编写XML DOM代码
2010/04/07 PHP
Codeigniter框架实现获取分页数据和总条数的方法
2014/12/05 PHP
PHP CURL 多线程操作代码实例
2015/05/13 PHP
Yii2中使用join、joinwith多表关联查询
2016/06/30 PHP
PHP入门教程之正则表达式基本用法实例详解(正则匹配,搜索,分割等)
2016/09/11 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
Javascript 读后台cookie代码
2008/09/15 Javascript
JavaScript Perfection kill 测试及答案
2010/03/23 Javascript
jquery中this的使用说明
2010/09/06 Javascript
JQuery实现动态添加删除评论的方法
2015/05/18 Javascript
Bootstrap每天必学之附加导航(Affix)插件
2016/04/25 Javascript
微信小程序之页面拦截器的示例代码
2017/09/07 Javascript
元素全屏的设置与监听实例
2017/11/28 Javascript
JS实现DOM删除节点操作示例
2018/04/04 Javascript
vue自定义指令实现方法详解
2019/02/11 Javascript
Vue Prop属性功能与用法实例详解
2019/02/23 Javascript
python实现根据主机名字获得所有ip地址的方法
2015/06/28 Python
python递归删除指定目录及其所有内容的方法
2017/01/13 Python
Python将多个list合并为1个list的方法
2018/06/27 Python
Python定义二叉树及4种遍历方法实例详解
2018/07/05 Python
mac安装python3后使用pip和pip3的区别说明
2020/09/01 Python
浅谈three.js中的needsUpdate的应用
2012/11/12 HTML / CSS
在线吉他课程,学习如何弹吉他:Fender Play
2019/02/28 全球购物
小学教师的个人自我鉴定
2013/10/26 职场文书
工商管理专业应届生求职信
2013/11/04 职场文书
大学校务公开实施方案
2014/03/31 职场文书
健康教育评估方案
2014/05/25 职场文书
法人授权委托书范本
2014/09/17 职场文书
2014办公室副主任四风对照检查材料思想汇报
2014/09/20 职场文书
无违反计划生育证明格式
2015/06/24 职场文书
职场:企业印章管理制度(模板)
2019/10/18 职场文书
python opencv人脸识别考勤系统的完整源码
2021/04/26 Python
redis实现共同好友的思路详解
2021/05/26 Redis