基于OpenCV的二维码和条形码识别
你好啊
今天我们来学习利用OpenCV识别二维码和条形码,首先我们需要准备一个二维码,我准备个两个
接下来我们需要下载几个包,numpy,opencv,和pyzbar(这个工具包可以识别二维码,条形码等)
import cv2
import numpy as np
from pyzbar.pyzbar import decodeimg = cv2.imread('Like.png')
code = decode(img)
print(code)
可以获得二维码的信息还有他的,四个顶点等信息。
接下这一步我们利用摄像头去识别
import cv2
import numpy as np
from pyzbar.pyzbar import decode#img = cv2.imread('Like.png')
cap = cv2.VideoCapture(0)
cap.set(3,640)
cap.set(4,480)while True:success,img =cap.read()for barcode in decode(img):print(barcode.data)myData = barcode.data.decode('utf-8')print(myData)cv2.imshow("Result",img)cv2.waitKey(1)
这一步结束后就可以实时识别二维码了。接下来我们对识别的二维码添加一个方框:
for barcode in decode(img):print(barcode.data)#添加方框pts = np.array([barcode.polygon],np.int32)pts = pts.reshape((-1,1,2))cv2.polylines(img,[pts],True,(255,15,255),5)myData = barcode.data.decode('utf-8')print(myData)
实现效果:
然后将识别出来的文本添加在二维码上:
#添加文本pts2 = barcode.rectcv2.putText(img,myData,(pts2[0],pts2[1]),cv2.FONT_HERSHEY_SIMPLEX,0.9,(255,50,255),2)
效果图:
到这里这个功能就实现了,当然我们可以进一步扩展,做成一个身份识别的工具,效果无图:
完整代码:
import cv2
import numpy as np
from pyzbar.pyzbar import decode#img = cv2.imread('Like.png')
cap = cv2.VideoCapture(0)
cap.set(3,640)
cap.set(4,480)with open('myDataID.text') as f:myDatalist = f.read().splitlines()while True:success,img =cap.read()for barcode in decode(img):myData = barcode.data.decode('utf-8')print(myData)if myData in myDatalist:myOutPut = 'Authorization'myColour = (0,255,0)else:myOutPut = 'Un-Authorization'myColour = (0,0,255)#添加方框pts = np.array([barcode.polygon],np.int32)pts = pts.reshape((-1,1,2))cv2.polylines(img,[pts],True,myColour,5)#添加文本pts2 = barcode.rectcv2.putText(img,myOutPut,(pts2[0],pts2[1]),cv2.FONT_HERSHEY_SIMPLEX,0.9,myColour,2)cv2.imshow("Result",img)cv2.waitKey(1)
再见
基于OpenCV的二维码和条形码识别相关推荐
- OpenCV+Zbar二维码及条形码识别
OpenCV搭配Zbar进行二维码及条形码识别 先上代码 #include<Windows.h> #include <iostream> #include<zbar.h& ...
- 毕业设计-基于机器学习的二维码和条形码识别
目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言
- 基于OpenCV实现二维码发现与定位
基于OpenCV实现二维码发现与定位 在如今流行扫描的年代,应用程序实现二维码扫描检测与识别已经是应用程序的标配.特别是在移动端.如果你的应用程序不能自动发现检测二维码,自动定位二维码你都不好意思跟别 ...
- python实现二维码识别软件_OpenCV和Zbar两个Python模块实现二维码和条形码识别
在我们的日常生活中,处处可见条形码和二维码. 在以前,我们去逛书店时,或者你现在随手拿起你身边的一本书,你肯定能看到书本的封页后面印有一排黑色线条组成的标签,也就是条形码:你去你们学校的自助机上借书还 ...
- 关于Zbar和ZXing这两个无比强大的二维码和条形码识别工具
之前做了一些关于一维码二维码识别与生成的工作.在这里总结一下子. 显然做这个我们不会花大量力气去自己来写这个识别过程, 这之间可能会包括人工识别方面的工作, 所以为了偷懒,便想到了去网上找这样的开源工 ...
- python二维码,条形码识别
利用python中的zxing包实现二维码,条形码的识别.zxing使用0.12版本,python版本为3.7,先看效果: 再看代码: # -*- coding: utf-8 -*-import lo ...
- Python实现二维码、条形码识别
环境: python 3.7 Win7 依赖包安装: pip install pillow pip install opencv-python pip install opencv-contrib-p ...
- python实现二维码识别_python实现二维码、条形码识别
环境: python 3.7 Win7 依赖包安装: pip install pillow pip install opencv-python pip install opencv-contrib-p ...
- python定位二维码_python实现二维码、条形码识别
环境: python 3.7 Win7 依赖包安装: pip install pillow pip install opencv-python pip install opencv-contrib-p ...
最新文章
- 17行代码AC_51Nod - 2133 排队接水(贪心)
- spring boot修改内置容器tomcat的服务端口
- 利用MFC调用libvlc.dll作一个简单的播放器
- java in out 参数_总是避免Java中的in-out参数?
- linux命令找目录,linux中何种指令可以查看当前所处的目录位置?
- c++:多线程的创建和unique_lock<mutex>的使用
- xshell6左侧导航显示_【iOS12人机交互指南】7.1-导航栏
- python 时分秒毫秒_第一篇:Python处理时间日期
- 图--广度优先遍历/深度优先遍历(c语言实现)
- jQuery实现照片墙,附步骤详解
- 用MyEclipse将java文件转换成UML类图
- 深入浅出MySQL全文 下载
- instantclient php,Oracle 轻量即时客户端Instant Client安装配置
- 初识Unity SRP
- java卡 apdu_将applet安装到java卡的APDU命令的顺序是什么?
- 使用python将多份pdf文件合并成一份
- Pearson 相关分析 理论与应用
- 【软件分析/静态程序分析学习笔记】5.数据流分析基础(Data Flow Analysis-Foundations)
- C# 使用SQLite 错误 - 试图加载格式不正确的程序
- idead打war包