通过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实现的udp协议Server和Client代码实例
Jun 04 Python
Python脚本处理空格的方法
Aug 08 Python
pandas系列之DataFrame 行列数据筛选实例
Apr 12 Python
python实现归并排序算法
Nov 22 Python
解决yum对python依赖版本问题
Jul 05 Python
tensor和numpy的互相转换的实现示例
Aug 02 Python
Python如何使用函数做字典的值
Nov 30 Python
python 装饰器功能与用法案例详解
Mar 06 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
Mar 12 Python
基于python实现坦克大战游戏
Oct 27 Python
matplotlib之属性组合包(cycler)的使用
Feb 24 Python
OpenCV-Python实现人脸美白算法的实例
Jun 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
快速配置PHPMyAdmin方法
2008/06/05 PHP
php Rename 更改文件、文件夹名称
2011/05/24 PHP
php中get_object_vars()方法用法实例
2015/02/08 PHP
PHP date函数常用时间处理方法
2015/05/11 PHP
PHP实现查询两个数组中不同元素的方法
2016/02/23 PHP
PHP魔术方法之__call与__callStatic使用方法
2017/07/23 PHP
YII2框架中日志的配置与使用方法实例分析
2020/03/18 PHP
论坛特效代码收集(落伍转发-不错)
2006/12/02 Javascript
javascript 一些用法小结
2009/09/11 Javascript
jquery使用ul模拟select实现表单美化的方法
2015/08/18 Javascript
angular.bind使用心得
2015/10/26 Javascript
浅谈Javascript中的函数、this以及原型
2016/10/09 Javascript
第一次接触神奇的Bootstrap
2016/10/14 Javascript
简单的js计算器实现
2016/10/26 Javascript
微信小程序request出现400的问题解决办法
2017/05/23 Javascript
JavaScript实现跟随滚动缓冲运动广告框
2017/07/15 Javascript
关于vue.extend和vue.component的区别浅析
2017/08/16 Javascript
jQuery zTree搜索-关键字查询 递归无限层功能实现代码
2018/01/25 jQuery
VUE重点问题总结
2018/03/19 Javascript
小程序云函数调用API接口的方法
2019/05/17 Javascript
[10:28]2018DOTA2国际邀请赛寻真——VGJ.S寻梦之路
2018/08/15 DOTA
python实现类似ftp传输文件的网络程序示例
2014/04/08 Python
Python random模块常用方法
2014/11/03 Python
python之Socket网络编程详解
2016/09/29 Python
详细解读tornado协程(coroutine)原理
2018/01/15 Python
Python实现FTP弱口令扫描器的方法示例
2019/01/31 Python
Python字符串的一些操作方法总结
2019/06/10 Python
 Alo Yoga官网:购买瑜伽服装
2018/06/17 全球购物
开水果连锁店创业计划书
2013/12/29 职场文书
爱耳日宣传活动总结
2014/07/05 职场文书
县委常委班子专题民主生活会查摆问题及整改措施
2014/09/27 职场文书
工作时间擅自离岗检讨书
2014/10/24 职场文书
元宵节寄语大全
2015/02/27 职场文书
预备党员党支部意见
2015/06/02 职场文书
python实现剪贴板的操作
2021/07/01 Python
WinServer2012搭建DNS服务器的方法步骤
2022/06/10 Servers