通过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获取本机mac地址和ip地址的方法
Apr 29 Python
python列出目录下指定文件与子目录的方法
Jul 03 Python
Python学习教程之常用的内置函数大全
Jul 14 Python
Python中import机制详解
Nov 14 Python
djano一对一、多对多、分页实例代码
Aug 16 Python
TensorFlow命名空间和TensorBoard图节点实例
Jan 23 Python
用Python做一个久坐提醒小助手的示例代码
Feb 10 Python
Python模拟登入的N种方式(建议收藏)
May 31 Python
Keras官方中文文档:性能评估Metrices详解
Jun 15 Python
python 实现"神经衰弱"翻牌游戏
Nov 09 Python
Pycharm安装Qt Design快捷工具的详细教程
Nov 18 Python
Python中的tkinter库简单案例详解
Jan 22 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
在VS2008中编译MYSQL5.1.48的方法
2010/07/03 PHP
Chrome Web App开发小结
2014/09/04 PHP
Symfony2实现从数据库获取数据的方法小结
2016/03/18 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
JavaScript 克隆数组最简单的方法
2009/02/12 Javascript
JavaScript Perfection kill 测试及答案
2010/03/23 Javascript
jQuery lazyLoad图片延迟加载插件的优化改造方法分享
2013/08/13 Javascript
使用jQuery异步加载 JavaScript脚本解决方案
2014/04/20 Javascript
JavaScript获取按钮所在form表单id的方法
2015/04/02 Javascript
javascript和jquery实现用户登录验证
2016/05/04 Javascript
bootstrap导航条实现代码
2016/12/28 Javascript
一个例子轻松学会Vue.js
2017/01/02 Javascript
jQuery源码分析之sizzle选择器详解
2017/02/13 Javascript
windows下vue.js开发环境搭建教程
2017/03/20 Javascript
JS获取字符对应的ASCII码实例
2017/09/10 Javascript
vue中v-model的应用及使用详解
2018/06/27 Javascript
微信小程序基于高德地图查找位置并显示文字
2019/10/30 Javascript
jQuery利用cookie 实现本地收藏功能(不重复无需多次命名)
2019/11/07 jQuery
微信小程序scroll-view实现滚动到锚点左侧导航栏点餐功能(点击种类,滚动到锚点)
2020/06/11 Javascript
Python Socket编程入门教程
2014/07/11 Python
Python设置Socket代理及实现远程摄像头控制的例子
2015/11/13 Python
python中in在list和dict中查找效率的对比分析
2018/05/04 Python
Python3 把一个列表按指定数目分成多个列表的方式
2019/12/25 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
2020/01/03 Python
python实现人机猜拳小游戏
2020/02/03 Python
Windows 下更改 jupyterlab 默认启动位置的教程详解
2020/05/18 Python
经验丰富程序员才知道的8种高级Python技巧
2020/07/27 Python
结婚邀请函范文
2014/01/14 职场文书
社区志愿者培训方案
2014/06/10 职场文书
2015教师年度考核评语
2015/03/25 职场文书
九九重阳节致辞
2015/07/31 职场文书
《这片土地是神圣的》教学反思
2016/02/16 职场文书
python中的mysql数据库LIKE操作符详解
2021/07/01 MySQL
python实现简单聊天功能
2021/07/07 Python
SpringDataJPA在Entity中常用的注解介绍
2021/12/06 Java/Android
怎么禁用Win11输入法 最新Win11输入法关闭教程
2022/08/05 数码科技