温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C++中怎么利用 OpenCV实现BFMatcher匹配

发布时间:2021-07-02 17:45:25 来源:亿速云 阅读:314 作者:Leah 栏目:大数据

C++中怎么利用 OpenCV实现BFMatcher匹配,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

实现原理

  • 发现两幅图片分别提取出来N,M个特征向量

  • 然后对N和M的特征向量进行匹配,找到最佳匹配

  • 然后再画出匹配的特征显示出来

代码演示

我们再新建一个项目名为opencv--brief,按照配置属性(VS2017配置OpenCV通用属性),然后在源文件写入#include和main方法

C++中怎么利用 OpenCV实现BFMatcher匹配

我们直接读取两个图片进行处理

C++中怎么利用 OpenCV实现BFMatcher匹配

然后我们就看到进行BFMatch的操作:

1.首先我们先将图片转换为灰度图,转换完的灰度图还是用我们原先定义的src1和src2。

C++中怎么利用 OpenCV实现BFMatcher匹配

2.通过用Surf的特征检测,把我们对两张图片获取的KeyPoint放到各自对应的descriptor里面。

C++中怎么利用 OpenCV实现BFMatcher匹配

3.根据上一步已经提取出的descriptor的两个Mat,通过BFMatcher进行最佳匹配,存放到我们定义的一个DMatch里面。

C++中怎么利用 OpenCV实现BFMatcher匹配

4.最后一步,我们先定义一个输出的图像img_mathces,然后通过drawMatches的方法,把两个图片中的特征点和匹配的结果画出Matches,最后再通过imshow的方法把我们画好的图片显示出来。

C++中怎么利用 OpenCV实现BFMatcher匹配

看完上述内容,你们掌握C++中怎么利用 OpenCV实现BFMatcher匹配的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI