通过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标准库之sqlite3使用实例
Nov 25 Python
python制作爬虫爬取京东商品评论教程
Dec 16 Python
python利用dir函数查看类中所有成员函数示例代码
Sep 08 Python
Python简单生成随机姓名的方法示例
Dec 27 Python
pandas对指定列进行填充的方法
Apr 11 Python
Python命名空间的本质和加载顺序
Dec 17 Python
如何通过python的fabric包完成代码上传部署
Jul 29 Python
python图形用户接口实例详解
Dec 16 Python
Python字符串的修改方法实例
Dec 19 Python
Python通过zookeeper实现分布式服务代码解析
Jul 22 Python
celery在python爬虫中定时操作实例讲解
Nov 27 Python
学会用Python实现滑雪小游戏,再也不用去北海道啦
May 20 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
php中ob(Output Buffer 输出缓冲)函数使用方法
2007/07/21 PHP
探讨各种PHP字符串函数的总结分析
2013/06/05 PHP
PHP获取二维数组中某一列的值集合
2015/12/25 PHP
Symfony2学习笔记之插件格式分析
2016/03/17 PHP
php str_getcsv把字符串解析为数组的实现方法
2017/04/05 PHP
PHP实现字母数字混合验证码功能
2019/07/11 PHP
在多个页面使用同一个HTML片段《续》
2011/03/04 Javascript
jquery 使用点滴函数代码
2011/05/20 Javascript
关于jquery中全局函数each使用介绍
2013/12/10 Javascript
javascript操作excel生成报表示例
2014/05/08 Javascript
js实现商品抛物线加入购物车特效
2020/11/18 Javascript
Web Uploader文件上传插件使用详解
2016/05/10 Javascript
原生Javascript插件开发实践
2017/01/18 Javascript
20行JS代码实现网页刮刮乐效果
2017/06/23 Javascript
jQuery取得元素标签名称小结(附代码)
2017/08/16 jQuery
Vue中多个元素、组件的过渡及列表过渡的方法示例
2019/02/13 Javascript
基于python实现微信模板消息
2015/12/21 Python
Python编写登陆接口的方法
2017/07/10 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
2018/03/05 Python
python+opencv实现阈值分割
2018/12/26 Python
python DataFrame 取差集实例
2019/01/30 Python
深入解析python中的实例方法、类方法和静态方法
2019/03/11 Python
详细分析Python collections工具库
2020/07/16 Python
Django实现简单的分页功能
2021/02/22 Python
CSS3实现彩色进度条动画的示例
2020/10/29 HTML / CSS
详解px单位html5响应式方案
2018/03/08 HTML / CSS
宝拉珍选官方旗舰店:2%水杨酸精华液,收缩毛孔粗大和祛痘
2018/07/01 全球购物
印度电子产品购物网站:Vijay Sales
2021/02/16 全球购物
高中毕业自我鉴定
2013/12/22 职场文书
中秋节国旗下演讲稿
2014/09/13 职场文书
nginx配置proxy_pass中url末尾带/与不带/的区别详解
2021/03/31 Servers
OpenCV-Python实现图像平滑处理操作
2021/06/08 Python
go goroutine 怎样进行错误处理
2021/07/16 Golang
Java面试题冲刺第十五天--设计模式
2021/08/07 面试题
使用vuex-persistedstate本地存储vuex
2022/04/29 Vue.js
Spring boot admin 服务监控利器详解
2022/08/05 Java/Android