通过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计算N天之后日期的方法
Mar 31 Python
python爬虫入门教程--正则表达式完全指南(五)
May 25 Python
详谈Python基础之内置函数和递归
Jun 21 Python
python退出命令是什么?详解python退出方法
Dec 10 Python
Java如何基于wsimport调用wcf接口
Jun 17 Python
python 6行代码制作月历生成器
Sep 18 Python
小白教你PyCharm从下载到安装再到科学使用PyCharm2020最新激活码
Sep 25 Python
通过代码实例了解Python3编程技巧
Oct 13 Python
pycharm实现猜数游戏
Dec 07 Python
python Scrapy爬虫框架的使用
Jan 21 Python
教你一分钟在win10终端成功安装Pytorch的方法步骤
Jan 28 Python
Python使用pyecharts控件绘制图表
Jun 05 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
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
2007/08/26 PHP
深入PHP5中的魔术方法详解
2013/06/17 PHP
解析php中如何调用用户自定义函数
2013/08/06 PHP
php模板原理讲解
2013/11/13 PHP
php内核解析:PHP中的哈希表
2014/01/30 PHP
微信支付开发动态链接Native支付
2016/07/12 PHP
php中preg_replace_callback函数简单用法示例
2016/07/21 PHP
Laravel重写用户登录简单示例
2016/10/08 PHP
php从身份证获取性别和出生年月
2017/02/09 PHP
PHP使用Http Post请求发送Json对象数据代码解析
2020/07/16 PHP
asp 的 分词实现代码
2007/05/24 Javascript
JS自调用匿名函数具体实现
2014/02/11 Javascript
一个简单的动态加载js和css的jquery代码
2014/09/01 Javascript
jquery实现submit提交表单
2015/02/03 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
2016/02/26 Javascript
使用ionic在首页新闻中应用到的跑马灯效果的实现方法
2017/02/13 Javascript
浅谈Node.js爬虫之网页请求模块
2018/01/11 Javascript
Express之托管静态文件的方法
2018/06/01 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
2019/05/09 Javascript
解决vue打包报错Unexpected token: punc的问题
2020/10/24 Javascript
[48:22]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python字典操作实例详解
2017/11/16 Python
python日期时间转为字符串或者格式化输出的实例
2018/05/29 Python
python自动化生成IOS的图标
2018/11/13 Python
padas 生成excel 增加sheet表的实例
2018/12/11 Python
Python列表对象实现原理详解
2019/07/01 Python
python图形开发GUI库wxpython使用方法详解
2020/02/14 Python
python raise的基本使用
2020/09/10 Python
Linden Leaves官网:新西兰纯净护肤品
2020/12/20 全球购物
一份全面的PHP面试问题考卷
2012/07/15 面试题
英语专业学生个人求职信范文
2014/01/06 职场文书
护理个人求职信范文
2014/01/08 职场文书
竞聘书模板
2014/03/31 职场文书
《动手做做看》教学反思
2014/04/09 职场文书
服务标语口号
2014/07/01 职场文书
Python 统计序列中元素的出现频度
2022/04/26 Python