环境:

  • python 3.7
  • Win7

依赖包安装:

pip install pillow
pip install opencv-python
pip install opencv-contrib-python
pip install numpy
pip instal pyzbar

首先使用cv2打开摄像头进行测试

import numpy as np
import cv2
capture = cv2.VideoCapture(0,cv2.CAP_DSHOW)
capture.set(3,640)
capture.set(4,480)
while True:     # 读取摄像头中的图像,ok为是否读取成功的判断参数     ret,img = capture.read()     cv2.imshow('frame', img)     k = cv2.waitKey(1)     if k == 27:    # 'ESC'关闭 break

如果看到屏幕出现一个窗口,上面显示着你的摄像头所拍摄到的画面说明测试成功

然后就直接上代码:

#written by DY
#http://dyblog.tk
#e-mail:duyun888888@qq.com
import cv2
from PIL import Image, ImageDraw, ImageFont
import csv
import pyzbar.pyzbar as pyzbar
import numpy
import time
#-----------------time----------
time1 = (time.strftime("%Y!%m@%d(%H*%M)%S`", time.localtime()))
time2 = time1.replace('!', '年')
time3 = time2.replace('@', '月')
time4 = time3.replace('(', '日')
time5 = time4.replace('*', '时')
time6 = time5.replace(')', '分')
timenow = time6.replace('`', '秒')
#-----------------time done----
barcodeData1 = ''found = set()
capture = cv2.VideoCapture(0,cv2.CAP_DSHOW)
Files = "qrcode+barcode.dat"#新建一个日志,方便查阅(不需要可以删除)
while(1):ret,frame = capture.read()test = pyzbar.decode(frame)gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)barcodes = pyzbar.decode(gray)for barcode in barcodes:(x, y, w, h) = barcode.rectcv2.rectangle(frame, (x, y), (x + w, y + h), (255, 255, 0), 2)barcodeData = barcode.data.decode("utf-8")barcodeType = barcode.typeif barcodeData=='' or barcodeData!=barcodeData1:barcodeData1 = barcodeData#======================可以不需要,这是在图片上进行标注,里面采用了字体文件==============================img_PIL = Image.fromarray(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB))font = ImageFont.truetype('arialbd.ttf', 25)#前面是字体文件,后面是字号fillColor = (0,255,0)position = (x, y-25)strl = barcodeDatadraw = ImageDraw.Draw(img_PIL)draw.text(position, strl,font=font,fill=fillColor)img_PIL.save('Identification_results.jpg','jpeg')#保存一张标记过的图片#====================================================print("Recognize result>>> type: {0}  content: {1}".format(barcodeType, barcodeData))else:passif barcodeType not in found or barcodeData not in found:with open(Files,'a+') as w:csv_write = csv.writer(w)date = ['类型:'+barcodeType+'  识别结果:'+barcodeData+'   时间:'+timenow]csv_write.writerow(date)found.add(barcodeData)cv2.imshow('qrcode+barcode',frame)k = cv2.waitKey(1)if k == 27:break
#written by DY
#http://dyblog.tk
#e-mail:duyun888888@qq.com

效果如图所示:

本文作者:my-goodboy
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

Python实现二维码、条形码识别相关推荐

  1. [软件工具][windows]pdf二维码条形码识别重命名工具使用教程

    pdf二维码条形码识别重命名工具是一款专门用于识别pdf中的二维码或者条形码并将识别结果变成pdf名字,是目前全球首款用于识别pdf条码的软件,具有识别精度高.识别速度快等特点.接下来介绍这个软件使用 ...

  2. python发票二维码条码识别_Python zxing 库解析(条形码二维码识别)

    各种扫码软件 最近要做个二维码识别的项目,查到二维码识别有好多开源的不开源的软件 http://www.oschina.net/project/tag/238/ Zbar 首先试了一下Zbar,pyt ...

  3. python发票二维码条码识别_通过python扫描二维码/条形码并打印数据

    需提前安装好pyzbar和opencv-python库(博主的电脑安装opencv-python库比较麻烦,但大部分都不会出现该问题) 安装方法:打开命令框输入 pip install pyzbar/ ...

  4. OpenCV+Python二维码条形码识别

    先上源码,github地址:https://github.com/DerrickRose25/Opencv_QRcode_recognition 环境:Pycharm .Python3.7 在pych ...

  5. python扫描二维码输出内容_通过python扫描二维码/条形码并打印数据

    需提前安装好pyzbar和opencv-python库(博主的电脑安装opencv-python库比较麻烦,但大部分都不会出现该问题) 安装方法:打开命令框输入 pip install pyzbar/ ...

  6. vue 二维码+条形码识别

    需求及说明: web端 ,识别图片中,二维码和条形码 识别信息可能有重叠需要合并后去重 二维码和条形码在同一张图片上(编写代码暂无冲突) 说明:二维码.条形码分开说明分析 二维码: //使用npm安装 ...

  7. python发票二维码条码识别_Python实现二维码、条形码识别

    环境:python 3.7 Win7 依赖包安装: pip install pillow pip install opencv-python pip install opencv-contrib-py ...

  8. 基于Python opencv实现车牌识别及二维码条形码识别系统 附完整源码

    完整代码:https://download.csdn.net/download/qq_38735017/87416699 原理简介 车牌字符识别使用的算法是 opencv 的 SVM opencv 的 ...

  9. python opencv 二维码定位识别

    # --coding:utf-8-- from Camera.sdk.Camera import Camerafrom math import sin,cos,radians,fabs import ...

  10. 77、基于STM32单片机的超市餐饮二维码/条形码摄像头识别结账扫码系统设计

    毕设帮助.开题指导.技术解答(有偿)见文末. 目录 摘要 一.硬件方案 二.设计功能 三.实物图 四.原理图 五.PCB图 六.程序源码 七.资料包括 摘要 二维码识别系统是集数据采集,识别,以及显示 ...

最新文章

  1. 软件系统理想主义之殇
  2. could not export python function call python_value. Remove calls to Python functions before export
  3. 剑指offer 算法 (时间空间效率的平衡)
  4. 增强包_情暖冬至 饺子飘香——临沭县兴华学校冬至“趣味包饺子”比赛圆满结束...
  5. XML解析(一),SAX解析XML
  6. Linux scp 免密码 传输文件
  7. Python中re模块的常见方法
  8. 【软件项目管理】软件项目的主要成本是人的劳动的消耗
  9. 随机抽样之蓄水池算法
  10. 数据是ERP系统搭建的基础,但,不要让数据毁了ERP
  11. AMD将统治2017年的PC及服务器市场?
  12. Protel99seMEX3
  13. ARM的CF卡驱动分析
  14. 位运算与字母大小写转换
  15. dmac学习之基于shadow register的multi block transfer
  16. 顺丰开放平台开发者接入指引
  17. CSS下划线与文字间距,下划线粗细以及下划线颜色的设置
  18. 自然语言处理:用paddle对人民日报语料进行分词,停用词,数据清洗和熵计算
  19. 内源性代谢物检测方法及应用 - MedChemExpress
  20. 域名快速备案的攻略,什么是域名快速备案?

热门文章

  1. 2013年 雷诺 Renault Zoe | 警告信息 “停车: 电力故障危险”
  2. android开发截屏代码,android截屏代码:C++实现
  3. android 阅读器自动滚动,在Android手机上实现阅读器翻页效果.doc
  4. do_bootm 分析
  5. 什么品牌的台灯适合学生用?适合学生党用的台灯推荐
  6. PHP+Mysql——博客系统(前端+后端-整套源码)
  7. house-prices
  8. 数仓模型设计详细讲解
  9. 关于路由器中家长控制和上网控制的设置
  10. mysql动态表单设计与实现_动态表单的数据库结构设计