10. Opencv检测并截取图中二维码

1. 说明

在二维码扫描功能开发中,使用相机扫描图片时,往往图片中的信息比较多样,可能会造成二维码检测失败的问题。一种提高检测精度的方式就是把二维码在图片中单独抠出来,去除其它冗余信息,然后再去识别这张提取出来的二维码。本篇博客记录采用的一种实现二维码位置检测和精准提取方式。
效果展示:
10. Opencv检测并截取图中二维码_第1张图片

2. 具体步骤

大致思路:根据二维码的特征 --> 三个角点都有一个 “回” 字形图案,可以借助这三个 ‘‘回’’ 字形图案定位到二维码的具体位置,然后使用OpenCV中的 “抠图” 功能,根据坐标值把二维图从原图中抠出来。

2.1 图像预处理

对图像进行检测之前需要先做一些预处理,可以简单理解为让后续的图像检测精度更高的一种前置优化方式。这里的预处理方式可以根据自己情况进行,常见的预处理方式包括滤波、腐蚀、膨胀、颜色转换、二值化等,不管经过怎样的处理,最后都要进行二值化处理,方便后面进行图像整体轮廓的查询,本博客中所进行的预处理代码如下:

//转成灰度图像
Mat grayImage;
cvtColor

你可能感兴趣的:(QT_QML_OPenCV,opencv,qt,二维码)