首先系统得安装opencv4以上的库,代码实验了一下,相比zxing和zbar,更简洁一些,并且提供了二维码定位;

代码如下:

#include <iostream>
#include <opencv2/opencv.hpp>
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
using namespace std;
using namespace cv;
int main()
{   //读取当前工程内图片Mat img = imread("1.jpg");QRCodeDetector QRdetecter;std::vector<cv::Point> list;Mat res;std::string str=QRdetecter.detectAndDecode(img, list, res);for (int i = 0; i < list.size(); i++){if(i==3)line(img, list[i], list[0], Scalar(255, 255, 0), 2);elseline(img, list[i], list[i + 1], Scalar(255, 255, 0), 2);}putText(img,str, Point(10, 400),FONT_HERSHEY_COMPLEX,2,Scalar(0, 255, 255), 2, 8);imshow("QR二维码定位", img);waitKey(0);return 0;
}

我的系统是ubuntu,所以用cmake编译的,cmake文件如下:


# cmake needs this line
cmake_minimum_required(VERSION 3.1)# Enable C++11
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)project(qr)
find_package(OpenCV REQUIRED)
FILE(GLOB SC_FILES "*.cpp" "*.h")
add_executable(${PROJECT_NAME} ${SC_FILES})
target_link_libraries(qr PRIVATE ${OpenCV_LIBS})

效果如下:

发现手机扫不出上面的图,附一张原图:

【opencv学习之四十六】OpenCV4.2 QR二维码识别及定位相关推荐

  1. 【图像处理】QR二维码识别与生成matlab代码

    1 简介 QR二维码的识别技术是数字图像处理领域研究的一个热门课题.随着物联网的不断发展,QR二维码凭借其强大的信息存储能力,方便快捷的识读优点,安全可靠的编码技术,已经逐渐地应用于各个行业领域.同时 ...

  2. Zbar+ROS+opencv二维码识别与定位研究(一)

    1.本文利用二维码的边缘信息,对其进行定位,经检验在3-4m以内有良好的定位效果 2.主要步骤: 原图像大小调整,提高运算效率:转化为灰度图:高斯平滑滤波: 求得水平和垂直方向灰度图像的梯度差,使用S ...

  3. 【OpenCV 4开发详解】QR二维码检测

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社发行所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4 ...

  4. opencv二维码识别解码

    目的: 使用opencv库识别QR二维码,框出图片中的二维码,并使用开源库Zxing解码,在这过程中学习理解opencv库相应的函数. 环境: 1. window7系统 2. QT create 1. ...

  5. OpenCV4二维码识别测试

    OpenCV4引入了二维码识别,函数为cv::QRCodeDetector,用起来相对简单,本文附c++版本OpenCV二维码识别的程序. 实测效果: 原图: 效果图: 识别结果为:123456789 ...

  6. Matlab实现 通过检测QR二维码位置探测图案进行精确定位

    近邻点集融合算法 QR二维码结构简介 QR二维码识别中在对图像预处理后最重要的一步就是要进行定位,QR二维码中有三个位置探测图形,通过扫描其特征便可以进行精细定位. 其中位置探测图形的比例特征如下: ...

  7. 【Matlab编程实现常见小问题之二】Matlab如何实现QR二维码的生成与识别

    本篇文章中,旨在解决如何用Matlab编程实现QR二维码的生成与识别.编程环境是Matlab2012a,所用的开源库是ZXing,ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码.目 ...

  8. Android OpenCV(四十):QR二维码检测与识别

    QR二维码 QR码(英语:Quick Response Code:全称为快速响应矩阵图码)是二维码的一种,于1994年由日本DENSO WAVE公司发明.QR来自英文Quick Response的缩写 ...

  9. OpenCV4.0 快速QR二维码检测测试示例

    点击我爱计算机视觉标星,更快获取CVML新技术 近几年由于微信大力推广移动支付,二维码已经成为手机App的标配,在众多种类的二维码中,QR码是最为流行的. 刚刚发布的OpenCV4.0-Alpha新增 ...

最新文章

  1. OpenAI教GPT-3学会上网,「全知全能」的AI模型上线了
  2. 下一代Asp.net开发规范OWIN(2)—— Katana介绍以及使用
  3. 进化计算在深度学习中的应用 | 附多篇论文解读
  4. threejs 局部辉光
  5. ajax长轮询 java web_网页实时聊天之js和jQuery实现ajax长轮询
  6. 常用的模型评估指标(转)
  7. 单项选择题标准化考试系统设计c语言版
  8. 【机器学习】 吴恩达机器学习作业 ex1 python实现+Matlab实现
  9. Excel 2016添加复选框
  10. Footprint:如何寻找有增长潜力的NFT项目?
  11. 三星android 安卓版本怎么升级包,三星A70官方安卓9固件系统线刷升级更新包:BRI-A7050ZHU3ASJ1...
  12. Linux C 函数指针应用---回调函数
  13. 副族元素从上到下原子半径_原子的大小以原子半径来表示
  14. 洛谷 UVA1395 苗条的生成树 Slim Span
  15. Java面试题之Redis的大坑
  16. 将c语言程序转化成伪代码,「第9篇」「做编程题方法3」「来点伪代码」
  17. 线程进程是怎样使用多核的
  18. 如何科学预测后代的身高
  19. 中科院计算所体系结构国家重点实验室招收实习生
  20. 2017年末给自己的一段话

热门文章

  1. 关于PCBA元器件布局的重要性
  2. 从服务生到微信开店创业改变
  3. 使用vue-cli创建uni-app项目
  4. 作为一个行业人,对2017安博会的一点感想
  5. BUAA Object Oriented Unit 1 Summary
  6. 了解GB28181相关协议
  7. mysql建库 utf_mysql创建数据库 utf
  8. java随机组卷和手动组卷功能实现
  9. 如何实现focus模块——python以及c++的实现方法
  10. 任意文件包含漏洞(1)