通过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获得图片base64编码示例
Jan 16 Python
python实现rest请求api示例
Apr 22 Python
python实现从网络下载文件并获得文件大小及类型的方法
Apr 28 Python
python3.5 + PyQt5 +Eric6 实现的一个计算器代码
Mar 11 Python
Python多进程池 multiprocessing Pool用法示例
Sep 07 Python
Python3.4学习笔记之列表、数组操作示例
Mar 01 Python
Python进程Multiprocessing模块原理解析
Feb 28 Python
python seaborn heatmap可视化相关性矩阵实例
Jun 03 Python
Python图像读写方法对比
Nov 16 Python
python openpyxl模块的使用详解
Feb 25 Python
Python实战之实现简易的学生选课系统
May 25 Python
python基础之类方法和静态方法
Oct 24 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
咖啡界又出新概念,无需咖啡豆的分子咖啡
2021/03/03 咖啡文化
php session安全问题分析
2011/06/24 PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
2013/10/29 PHP
php实现微信公众号主动推送消息
2015/12/31 PHP
thinkPHP实现多字段模糊匹配查询的方法
2016/12/01 PHP
从盛大通行证上摘下来的身份证验证js代码
2011/01/11 Javascript
javascript:history.go()和History.back()的区别及应用
2012/11/25 Javascript
JavaScript中的分号插入机制详细介绍
2015/02/11 Javascript
JS焦点图,JS 多个页面放多个焦点图的实例
2016/12/08 Javascript
从零学习node.js之文件操作(三)
2017/02/21 Javascript
vue2.0.js的多级联动选择器实现方法
2018/02/09 Javascript
Node.js中的cluster模块深入解读
2018/06/11 Javascript
react 国际化的实现代码示例
2018/09/14 Javascript
深入Node TCP模块的理解
2019/03/13 Javascript
Vue中的循环及修改差值表达式的方法
2019/08/29 Javascript
vue-cli和v-charts实现可视化图表过程解析
2019/10/08 Javascript
JavaScript onclick事件使用方法详解
2020/05/15 Javascript
关于Vue中$refs的探索浅析
2020/11/05 Javascript
Python 的 with 语句详解
2014/06/13 Python
Python操作SQLite简明教程
2014/07/10 Python
python读写二进制文件的方法
2015/05/09 Python
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
2016/06/29 Python
python实现二分查找算法
2017/09/21 Python
vscode 远程调试python的方法
2017/12/01 Python
python Opencv将图片转为字符画
2021/02/19 Python
浅谈如何使用python抓取网页中的动态数据实现
2020/08/17 Python
Python数据可视化常用4大绘图库原理详解
2020/10/23 Python
详解python中的异常捕获
2020/12/15 Python
毕业生机械建模求职信
2013/10/14 职场文书
高三自我鉴定
2013/10/23 职场文书
会计顶岗实习心得
2014/01/25 职场文书
最新会计专业求职信范文
2014/01/28 职场文书
成绩单家长意见
2015/06/03 职场文书
胡桃夹子观后感
2015/06/11 职场文书
日本读研:怎样写好一篇日本研究计划书?
2019/07/15 职场文书
导游词之河姆渡遗址博物馆
2019/10/10 职场文书