C++OpenCV特征提取之如何实现Brisk特征检测与匹配
小编给大家分享一下C++ OpenCV特征提取之如何实现Brisk特征检测与匹配,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
专注于为中小企业提供成都网站设计、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业张家口免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
前言
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特征检测与匹配”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!
网站标题:C++OpenCV特征提取之如何实现Brisk特征检测与匹配
新闻来源:http://ybzwz.com/article/jeossd.html