C++中怎么利用OpenCV实现BFMatcher匹配
C++中怎么利用 OpenCV实现BFMatcher匹配,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
成都创新互联公司是一家专注于网站制作、成都网站设计与策划设计,赛罕网站建设哪家好?成都创新互联公司做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:赛罕等地区。赛罕做网站价格咨询:13518219792
实现原理
发现两幅图片分别提取出来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匹配的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
名称栏目:C++中怎么利用OpenCV实现BFMatcher匹配
文章URL:http://myzitong.com/article/ipopog.html