通过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工程师面试题 与Python Web相关
Jan 14 Python
使用Python保存网页上的图片或者保存页面为截图
Mar 05 Python
Python守护进程和脚本单例运行详解
Jan 06 Python
Windows下安装python2和python3多版本教程
Mar 30 Python
Python排序搜索基本算法之插入排序实例分析
Dec 11 Python
Python实现将数据写入netCDF4中的方法示例
Aug 30 Python
Python正则表达式和元字符详解
Nov 29 Python
浅谈python函数调用返回两个或多个变量的方法
Jan 23 Python
使用python对多个txt文件中的数据进行筛选的方法
Jul 10 Python
在PyCharm中控制台输出日志分层级分颜色显示的方法
Jul 11 Python
python二进制读写及特殊码同步实现详解
Oct 11 Python
django框架两个使用模板实例
Dec 11 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
自己做矿石收音机
2021/03/02 无线电
PHP的一个完整SMTP类(解决邮件服务器需要验证时的问题)
2006/10/09 PHP
wordpress安装过程中遇到中文乱码的处理方法
2015/04/21 PHP
深入浅析PHP7.0新特征(五大新特征)
2015/10/29 PHP
详解js异步文件加载器
2016/01/24 PHP
php实现在线通讯录功能(附源码)
2016/05/13 PHP
PHP连接SQL server数据库测试脚本运行实例
2020/08/24 PHP
如何在Laravel之外使用illuminate组件详解
2020/09/20 PHP
PHP读取文件或采集时解决中文乱码
2021/03/09 PHP
多个jquery.datatable共存,checkbox全选异常的快速解决方法
2013/12/10 Javascript
JavaScript两种跨域技术全面介绍
2014/04/16 Javascript
原生js封装二级城市下拉列表的实现代码
2016/06/16 Javascript
利用python分析access日志的方法
2016/10/26 Javascript
原生js获取浏览器窗口及元素宽高常用方法集合
2017/01/18 Javascript
jquery实现下拉框左右选择功能
2017/02/21 Javascript
JS正则获取HTML元素的方法
2017/03/31 Javascript
深入理解Vue 组件之间传值
2018/08/16 Javascript
微信小程序全局变量改变监听的实现方法
2019/07/15 Javascript
axios如何利用promise无痛刷新token的实现方法
2019/08/27 Javascript
element form 校验数组每一项实例代码
2019/10/10 Javascript
js消除图片小游戏代码
2019/12/11 Javascript
一文秒懂nodejs中的异步编程
2021/01/28 NodeJs
Python2.6版本pip安装步骤解析
2020/08/17 Python
Python+unittest+requests+excel实现接口自动化测试框架
2020/12/23 Python
Python图像处理之膨胀与腐蚀的操作
2021/02/07 Python
I.T中国官网:精选时尚设计师单品网购平台
2018/03/26 全球购物
eBay英国购物网站:eBay.co.uk
2019/06/19 全球购物
老教师工作总结的自我评价
2013/09/27 职场文书
实习生单位鉴定意见
2013/12/04 职场文书
校园活动策划书范文
2014/01/10 职场文书
爱的承诺书
2015/01/20 职场文书
2015年派出所工作总结
2015/04/24 职场文书
2015年九一八事变纪念活动实施方案
2015/05/06 职场文书
干货!开幕词的写作方法
2019/04/02 职场文书
火锅店的开业营销方案范本!
2019/07/05 职场文书
电脑关机速度很慢怎么办 提升电脑关机速度设置教程
2022/04/08 数码科技