二维码广泛应用于我们的日常生活中,比如微信和支付宝支付,火车票,商品标识等等,二维码种类有很多,包括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识别二维码相关推荐

  1. OPENCV识别二维码

    OPENCV识别二维码 油管一位小哥的教程,讲的非常好,可以去看一下,很火. 代码非常简单,有个扩展的代码,将二维码的数据写到txt文件里,可以做很多有意思的事情,很简单. ### ###二维码识别1 ...

  2. C++利用OpenCV识别二维码QRCode

    引子 项目需要用到C++进行二维码识别,虽然手机上随便扫码就可以轻易识别出来,但是到了电脑上可就没有那么方便了. 我要做的是能够一下子把一张图片上的几十个二维码一下子识别出来,如果成功的话,那岂不是比 ...

  3. 通过Java使用opencv识别二维码

    OpenCV的全称是Open Source Computer Vision Library,它是一个跨平台的计算机视觉库,由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费 ...

  4. 基于OpenCV的二维码和条形码识别

    你好啊 今天我们来学习利用OpenCV识别二维码和条形码,首先我们需要准备一个二维码,我准备个两个 接下来我们需要下载几个包,numpy,opencv,和pyzbar(这个工具包可以识别二维码,条形码 ...

  5. opencv项目7---智能识别二维码和条形码

    利用opencv和一个摄像头设备即可实现智能识别二维码和条形码,用到的都是基础的opencv知识. 二维码和条形码的照片可以去网上自行搜索. 这个项目可以有很多扩展: 1:比如做成一个公司的二维码证件 ...

  6. 树莓派4b + python3 + pyzbar + opencv + 摄像头 扫描识别二维码(寻找最大的二维码)

    前言 最近需要做一个扫码乘车的功能,于是使用树莓派的摄像头扫描二维码来做一个demo . 网上有部分人用的是zbar这个库,但是我安装后,发现并不能在Python3上使用,这就有点不太好了.经过我的多 ...

  7. opencv之调用摄像头动态识别二维码

    结合前几篇做的工作,实现一下动态识别二维码 opencv之调用摄像头动态识别二维码

  8. 数字图像处理二维码识别 python+opencv实现二维码实时识别

    数字图像处理二维码识别 python+opencv实现二维码实时识别 特点: (1)可以实现普通二维码,条形码: (2)解决了opencv输出中文乱码的问题 (3)增加网页自动跳转功能 (4)实现二维 ...

  9. 【OpenCV】二维码识别

    文章目录 前言 一.OpenCV自带二维码识别功能 二.使用pyzbar识别 三.串口发送数据 四.播放音乐 总结 前言 最终实现视频动态识别二维码. 一.OpenCV自带二维码识别功能 import ...

最新文章

  1. OKR工作法没有用好陷入了这三个坑
  2. elasticsearch批量修改,批量更新某个字段
  3. JZOJ 3596. 【CQOI2014】和谐矩阵
  4. 登录工程:传统 Web 应用中的身份验证技术
  5. nginx----linux安装
  6. 网络电视录制软件_有哪些比较好用的录音软件【精品合集】
  7. EMNLP 2020 | RecAdam: 在更少的遗忘下精调预训练语言模型
  8. wpsoffice 安装包_WPS office (安卓、ios) 企业版 软件介绍(附安装包)
  9. 数学建模(十)博弈论
  10. vue-froala-wysiwyg富文本编辑器
  11. ASTC压缩格式总结
  12. cisco的ccna与华为的hcne考试培训心得
  13. php手册中的tokenizer详细总结,基本看它就够了
  14. python报错跳过继续执行_python如何设置报错跳过
  15. elementUI表格合并行
  16. 历史文化名城盛开数字化之花
  17. 基于python的可视化分析_Python数据的可视化分析,python
  18. 查找数据库中重复数据T-SQL
  19. 《软件工程之美》打卡第三周
  20. 1、项目1-输出点阵图

热门文章

  1. 数据库误操作,如何恢复数据(SQL事务,或数据库还原)
  2. 如何有效地构建组织绩效管理系统
  3. 计算机思维在数学中的应用,浅谈数学思维方式在计算机教学中的应用
  4. Nginx安装配置Lua支持
  5. vulhub黄金眼靶机
  6. 软考成绩查询与证书领取
  7. 百度AI攻略:iOCR财会票据识别
  8. 开发团队工作中遇到的问题复盘
  9. tomcat热加载、热部署-源码解析
  10. datahub文档_阿里云DataHub基本了解