通过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 相关文章推荐
在Django的模型中执行原始SQL查询的方法
Jul 21 Python
Python中关键字nonlocal和global的声明与解析
Mar 12 Python
Tensorflow加载预训练模型和保存模型的实例
Jul 27 Python
浅谈Python基础—判断和循环
Mar 22 Python
Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法
Mar 20 Python
Python自动重新加载模块详解(autoreload module)
Apr 01 Python
完美解决pyinstaller打包报错找不到依赖pypiwin32或pywin32-ctypes的错误
Apr 01 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
Jun 15 Python
python中的yield from语法快速学习
Nov 06 Python
如何用python实现一个HTTP连接池
Jan 14 Python
一文读懂python Scrapy爬虫框架
Feb 24 Python
Python机器学习算法之决策树算法的实现与优缺点
May 13 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
ThinkPHP框架设计及扩展详解
2014/11/25 PHP
php封装的单文件(图片)上传类完整实例
2016/10/18 PHP
php读取XML的常见方法实例总结
2017/04/25 PHP
PHP基于自定义函数生成笛卡尔积的方法示例
2017/09/30 PHP
通过ifame指向的页面高度调整iframe的高度
2006/10/05 Javascript
浅析document.createDocumentFragment()与js效率
2013/07/08 Javascript
JS去除数组重复值的五种不同方法
2013/09/06 Javascript
使用JS或jQuery模拟鼠标点击a标签事件代码
2014/03/10 Javascript
用html5 js实现点击一个按钮达到浏览器全屏效果
2014/05/28 Javascript
容易造成JavaScript内存泄露几个方面
2014/09/04 Javascript
原生javascript实现图片按钮切换
2015/01/12 Javascript
JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法
2016/08/05 Javascript
基于JSONP原理解析(推荐)
2017/12/04 Javascript
解决vue打包css文件中背景图片的路径问题
2018/09/03 Javascript
在js代码拼接dom对象到页面上的模板总结
2018/10/21 Javascript
javascript防抖函数debounce详解
2019/06/11 Javascript
解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题
2019/09/03 Javascript
ZK中使用JS读取客户端txt文件内容问题
2019/11/07 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
2020/10/30 Javascript
python操作字典类型的常用方法(推荐)
2016/05/16 Python
python hashlib加密实现代码
2019/10/17 Python
Python Pickle 实现在同一个文件中序列化多个对象
2019/12/30 Python
Python如何向SQLServer存储二进制图片
2020/06/08 Python
python简单实现插入排序实例代码
2020/12/16 Python
HTML5是什么 HTML5是什么意思 HTML5简介
2012/10/26 HTML / CSS
最好的意大利皮夹克:D’Arienzo
2018/12/04 全球购物
英国办公家具网站:Furniture At Work
2019/10/07 全球购物
2014年端午节活动方案
2014/03/11 职场文书
搞笑的获奖感言
2014/08/16 职场文书
预备党员群众路线教育实践活动思想汇报2014
2014/10/25 职场文书
教育实习指导教师评语
2014/12/31 职场文书
婚礼女方父母答谢词
2015/01/04 职场文书
运动会观后感
2015/06/09 职场文书
浅谈Python列表嵌套字典转化的问题
2021/04/07 Python
Java实现房屋出租系统详解
2021/10/05 Java/Android
Python人工智能之混合高斯模型运动目标检测详解分析
2021/11/07 Python