您好,登录后才能下订单哦!
小编给大家分享一下C++ OpenCV特征提取之如何实现Brisk特征检测与匹配,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
前言
BRISK是BRIEF描述子的一种改进,相比于BRIEF特征,它具有旋转不变性、尺度不变性和对噪声的鲁棒性。几个特征检测的速度比较:SIFT>SURF>BRISK>FREAK>ORB,在对有较大模糊的图像配准时,BRISK算法在其中表现最为出色。
Brisk特征介绍
构建尺度空间
特征点检测
FAST9-16寻找特征点
特征点定位
关键点描述子
代码演示
我们再新建一个项目名为opencv--brisk,按照配置属性(VS2017配置OpenCV通用属性),然后在源文件写入#include和main方法,这里因为我们肯定能读到图片,所以我都省略了一些判断的语句,详细的判断图片是否读取成功的可以看以前的例子里面。
Brisk检测
我们先来做一下Brisk的检测,检测这里代码比较简单,先用以前的test3的图片进行检测看看效果,下面的检测代码。
然后我们看一下运行的效果
要以看到特征点都检测出来了,感觉效果比起SIFT和SURF都要好一点。下面我们再做一下特征的匹配。
Brisk匹配
做匹配的话我们还是用前面的对应的两个图片test8和test7,接下来我们就来修改代码
首先修改加载的图片
然后重新定义keypoints进行检测
再进行Match的匹配
接下来寻找最好的Match Point
在新图上绘制goodMatch并显示出来
接下来我们看一下运行的效果
以上是“C++ OpenCV特征提取之如何实现Brisk特征检测与匹配”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。