温馨提示×

温馨提示×

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

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

C++用OpenCV进行图片特征匹配

发布时间:2021-08-24 10:04:56 来源:亿速云 阅读:177 作者:chen 栏目:大数据

这篇文章主要介绍“C++用OpenCV进行图片特征匹配”,在日常操作中,相信很多人在C++用OpenCV进行图片特征匹配问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++用OpenCV进行图片特征匹配”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!


代码演示

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

C++用OpenCV进行图片特征匹配

这次我们在加载图片的时候直接以灰度图的方式加载进来,后面就不再用先转换为灰度图的过程了。然后我们运行一下看看加载出来的图片效果。

C++用OpenCV进行图片特征匹配

1.我们还是先用Surf特征进行检测,因为这个相对速度会快,把我们对两张图片获取的KeyPoint放到各自对应的descriptor里面。

C++用OpenCV进行图片特征匹配

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

C++用OpenCV进行图片特征匹配

3.定义minDist和maxDist,然后通过循环进行关键点最大和最小距离的快速计算,并找印出结果来。

C++用OpenCV进行图片特征匹配

4.根据最大最小的距离里面寻找最佳的matches。下面的红框3是可以自己修改的,改的大了点就会多一些。

C++用OpenCV进行图片特征匹配

5.我们先定义一个输出的图像matchesImg,然后通过drawMatches的方法,把最好的匹配点都画在matchesImg上,最后再通过imshow的方法把我们画好的图片显示出来。

C++用OpenCV进行图片特征匹配


接下来我们看一下运行的结果图

C++用OpenCV进行图片特征匹配

到此,关于“C++用OpenCV进行图片特征匹配”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

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

AI