环境:

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.rect

cv2.rectangle(frame, (x, y), (x + w, y + h), (255, 255, 0), 2)

barcodeData = barcode.data.decode("utf-8")

barcodeType = barcode.type

if 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 = barcodeData

draw = 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:

pass

if 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

效果如图所示:

python定位二维码_python实现二维码、条形码识别相关推荐

  1. python生成二维码_python生成二维码的实例详解

    python生成二维码的实例详解 版本相关 操作系统:Mac OS X EI Caption Python版本:2.7 IDE:Sublime Text 3 依赖库 Python生成二维码需要的依赖库 ...

  2. python摄像头识别二维码_python使用pyzbar+opencv实现实时识别二维码--李渣渣(lizaza.cn)...

    写东西就要写全面,前两天写了如何用python生成二维码,今天博主就给大家介绍一个识别二维码的方法. 1.安装本次开发所需要的库opencv 和pyzbar pip install pyzbar pi ...

  3. python三维数组表示方法_Python操作多维数组和矩阵

    如果需要处理更加复杂的情形,可能需要使用Python的数学模块包NumPy,链接地址:http://numpy.sourceforge.net/ 首先来看一个简单的二维表格.投掷两枚骰子时,有36种可 ...

  4. python多维字典_python定义多维字典

    在python中默认的dict方法定义多维字典较为复杂 并不能直接通过a=dict() a['b']['c']['d'] = 1 >>> a['b']['c']['d']=1 Tra ...

  5. python解析二维码_python解析二维码

    由于需要对二维码图片进行解析,操作环境是centos7.2,python版本是2.7.5,由于zbar只支持到Python2.6,所以准备采用源码编译安装的方式.具体步骤如下: 1.安装依赖包 yum ...

  6. python识别发票二维码_Python 实现二维码生成和识别

    今天突然想给自己自己做个头像,然后还是二维码的形式,这样只要扫一扫就可以访问我的主页.然后就开始自己的苦逼之路... 其实实现二维码java,c#,C++等都可以实现:由于自己正在学python,所以 ...

  7. python中遍历二维数组_python遍历二维数组-女性时尚流行美容健康娱乐mv-ida网

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页  > 高级搜索 二 维 数组 5.2.1 二 ...

  8. python 随机获取数组元素_Python创建二维数组的正确姿势

    List (列表)是 Python 中最基本的数据结构.在用法上,它有点类似数组,因为每个列表都有一个下标,下标从 0 开始.因此,我们可以使用 list[1] 来获取下标对应的值.如果我们深入下列表 ...

  9. python二维数组排序_Python实现二维数组按照某行或列排序的方法【numpy lexsort】...

    本文实例讲述了Python实现二维数组按照某行或列排序的方法.分享给大家供大家参考,具体如下: lexsort支持对数组按指定行或列的顺序排序:是间接排序,lexsort不修改原数组,返回索引. (对 ...

最新文章

  1. 【PHPWord】超链接
  2. Android 打包混肴
  3. 20150720 Two heads are better than one
  4. 适合NetScaler AG部署的 WI 定制站点开发
  5. Flask项目--爱家租房项目结构图
  6. Python快速找到列表中所有重复的元素
  7. Java基础学习总结(170)——Java8并发工具类CompletableFuture学习总结
  8. Ext.Net 最新版(2011-06-24)License 问题
  9. um是代表什么意思_白玫瑰代表什么意思 居然有这么多含义
  10. python编程是啥-python编程语言是什么?它能做什么?
  11. 我与Bootstrap
  12. presto执行一条查询分为七步
  13. 概率论数理统计笔记01(对应教材——《概率论与数理统计》(同济大学出版社出版))
  14. 开发中好用的工具(长期待更)
  15. 基于K—近邻的车牌号识别小实验
  16. hdmi接口线_终于有人能把HDMI和VGA的5大区别讲全了,网友:讲得真详细
  17. 9.1. Logical Operators
  18. Android多功能视频播放器GSYVideoPlayer开发流程
  19. yolov5——断点训练/继续训练【解决方法、使用教程】
  20. 安卓手机开机动画bootanimation.zip文件制作以及注意事项

热门文章

  1. 4G/5G无人机/无人车/无人船 远程控制,FPV增程,APM/Pixhawk图传数传一体
  2. 一如昨日的时光,一如昨日的酒--
  3. Bluecms代码审计
  4. java在文件尾部写文件_Java在文件尾部追加内容
  5. 各版本最新的Visual C++可再发行组件包(Redistributable Package)下载和合集
  6. 网络爬虫与机器学习算法在城市分析中的应用(python)
  7. 思科认证介绍(各种证书)
  8. Linux·内核源码简单分析
  9. eclipse打开时报错:
  10. python正则表达式入门