千家信息网

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

发表于:2024-12-13 作者:千家信息网编辑
千家信息网最后更新 2024年12月13日,C++中怎么利用 OpenCV实现BFMatcher匹配,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。实现原理发现两幅图片分别提取出来N
千家信息网最后更新 2024年12月13日C++中怎么利用 OpenCV实现BFMatcher匹配

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

实现原理

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

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

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

代码演示

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

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

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

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

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

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

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

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

0