使用OpenCV识别二维码
二维码广泛应用于我们的日常生活中,比如微信和支付宝支付,火车票,商品标识等等,二维码种类有很多,包括QR Code, Data Matrix, Code One等,日常生活中常用的二维码是QR二维码。
各类二维码的特征如下:
QR二维码的识别过程大致分成两个阶段,首先搜索二维码的位置探测图形,即QR二维码三个顶点处的回字区域,QR二维码位置以4个顶点坐标形式给出,之后对二维码进行解码,提取其中的信息。
QR二维码识别是Opencv4新增加的功能,OpenCV4提供了相关函数直接解码QR二维码并读取其中的信息,在OpenCV4之前的版本中,对QR二维码的识别需要借助于第三方工具,常用的是zbar解码库。
针对QR二维码识别的两个过程,OpenCV4提供了多个函数用于实现每个过程,这些函数分别是定位QR二维码的detect函数,根据定位结果解码二维码的decode函数,以及同时进行定位和解码的detectAndDecode函数。
定位QR二维码的位置不但可以用于解码QR二维码,而且可以用于视觉定位,在利用QR二维码定位的任务中,有时不需要对QR二维码进行解码,而是直接使用4个顶点的坐标,因此指定为而不解码QR二维码可以加快系统的运行速度。
程序:
# -*-coding:utf-8 -*-import cv2 as cv
import numpy as np# 加载图片
src_image = cv.imread("./webwxgetmsgimg.jpeg")
# 实例化
qrcoder = cv.QRCodeDetector()
# qr检测并解码
codeinfo, points, straight_qrcode = qrcoder.detectAndDecode(src_image)
# 绘制qr的检测结果
cv.drawContours(src_image, [np.int32(points)], 0, (0, 0, 255), 2)
print(points)
# 打印解码结果
print("qrcode :", codeinfo)
cv.imshow("result", src_image)
cv.waitKey(0)
包含二维码的图片
运行结果:
src_img是待检测是否含有QR二维码的灰度图像或者彩色图像,points包含QR二维码的最小区域四边形的四个顶点坐标,即二维码的四个顶点坐标。结果以字符串的形式返回。
结束!
使用OpenCV识别二维码相关推荐
- OPENCV识别二维码
OPENCV识别二维码 油管一位小哥的教程,讲的非常好,可以去看一下,很火. 代码非常简单,有个扩展的代码,将二维码的数据写到txt文件里,可以做很多有意思的事情,很简单. ### ###二维码识别1 ...
- C++利用OpenCV识别二维码QRCode
引子 项目需要用到C++进行二维码识别,虽然手机上随便扫码就可以轻易识别出来,但是到了电脑上可就没有那么方便了. 我要做的是能够一下子把一张图片上的几十个二维码一下子识别出来,如果成功的话,那岂不是比 ...
- 通过Java使用opencv识别二维码
OpenCV的全称是Open Source Computer Vision Library,它是一个跨平台的计算机视觉库,由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费 ...
- 基于OpenCV的二维码和条形码识别
你好啊 今天我们来学习利用OpenCV识别二维码和条形码,首先我们需要准备一个二维码,我准备个两个 接下来我们需要下载几个包,numpy,opencv,和pyzbar(这个工具包可以识别二维码,条形码 ...
- opencv项目7---智能识别二维码和条形码
利用opencv和一个摄像头设备即可实现智能识别二维码和条形码,用到的都是基础的opencv知识. 二维码和条形码的照片可以去网上自行搜索. 这个项目可以有很多扩展: 1:比如做成一个公司的二维码证件 ...
- 树莓派4b + python3 + pyzbar + opencv + 摄像头 扫描识别二维码(寻找最大的二维码)
前言 最近需要做一个扫码乘车的功能,于是使用树莓派的摄像头扫描二维码来做一个demo . 网上有部分人用的是zbar这个库,但是我安装后,发现并不能在Python3上使用,这就有点不太好了.经过我的多 ...
- opencv之调用摄像头动态识别二维码
结合前几篇做的工作,实现一下动态识别二维码 opencv之调用摄像头动态识别二维码
- 数字图像处理二维码识别 python+opencv实现二维码实时识别
数字图像处理二维码识别 python+opencv实现二维码实时识别 特点: (1)可以实现普通二维码,条形码: (2)解决了opencv输出中文乱码的问题 (3)增加网页自动跳转功能 (4)实现二维 ...
- 【OpenCV】二维码识别
文章目录 前言 一.OpenCV自带二维码识别功能 二.使用pyzbar识别 三.串口发送数据 四.播放音乐 总结 前言 最终实现视频动态识别二维码. 一.OpenCV自带二维码识别功能 import ...
最新文章
- OKR工作法没有用好陷入了这三个坑
- elasticsearch批量修改,批量更新某个字段
- JZOJ 3596. 【CQOI2014】和谐矩阵
- 登录工程:传统 Web 应用中的身份验证技术
- nginx----linux安装
- 网络电视录制软件_有哪些比较好用的录音软件【精品合集】
- EMNLP 2020 | RecAdam: 在更少的遗忘下精调预训练语言模型
- wpsoffice 安装包_WPS office (安卓、ios) 企业版 软件介绍(附安装包)
- 数学建模(十)博弈论
- vue-froala-wysiwyg富文本编辑器
- ASTC压缩格式总结
- cisco的ccna与华为的hcne考试培训心得
- php手册中的tokenizer详细总结,基本看它就够了
- python报错跳过继续执行_python如何设置报错跳过
- elementUI表格合并行
- 历史文化名城盛开数字化之花
- 基于python的可视化分析_Python数据的可视化分析,python
- 查找数据库中重复数据T-SQL
- 《软件工程之美》打卡第三周
- 1、项目1-输出点阵图