C++ OpenCV特征提取之KAZE和AKAZE的匹配

前言

前面我们通过两章《C++ OpenCV特征提取之KAZE检测》《C++ OpenCV特征提取之AKAZE检测》介绍了KAZE和AKAZE的特征子描述,今天我们就来做一下KAZE和AKAZE的特征匹配,话不多说,直接开始。

代码演示

我们再新建一个项目名为opencv-kazedemo,按照配置属性(VS2017配置OpenCV通用属性),然后在源文件写入#include和main方法,下在的代码我们是直接用了前面两张介绍KAZE的描述子的代码直拷贝过来的,所以我这就直接贴过来了,我们一会儿会在这个代码的基础上进行修改匹配。

下面我们来整体改造一下:

因为要进行匹配,所以我们也要按FLANN的方式用到两张图,还是我们原来用FLAAN的那两张。

把原来的src改为了src1和src2了,加载了两张要对比的图。


KAZE

然后定义KAZE的匹配方法,把src1和src2找到的keypoints都存到descriptor里面。


再用Flann的方式进行匹配


画出匹配的关键点

到这里我们先运行一下看看效果

可以看出画上对应匹配的非常多,这样应该是不对的,所以我们还是要用到前面章节学到的,需要寻找最好的匹配。


我们写入再找到最好的匹配代码加进去,然后在drawmatch里面改为画上最好匹配的代码

然后重新显示一下效果

这次可以看到寻找最好的匹配后,不会像刚才那样感觉匹配的非常乱了。


AKAZE

接下来我们直接换一下AKAZE看看效果

我们把原来的KAZE直接改为AKAZE运行,结果发现报错。找了原因改了一下发现是FLANN的匹配就会报错,这样我们改为BFMATCH的匹配。

然后重新运行一下看看结果

对比了上面的KAZE的结果明显能看出来匹配的特征点要少了不少,而且相对的用时也要比KAZE的时间少了一些。


本文分享自微信公众号 - 微卡智享(VaccaeShare)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-08-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ccf19881030的博客

C++ STL map容器值为指针时怎么释放内存

最近在使用STL中map时,遇到了一个问题,就是当map中值为指针对象时怎么释放内存?

52220
来自专栏ccf19881030的博客

VC++DLL动态链接库程序

最近查找了一下VC++中关于编写DLL动态库的资料,主要是导出函数和导出类的编写。因为在实际项目开发中有时需要使用C++编写好DLL接口,控制设备,提供给其他语...

22120
来自专栏海天一树

信息学竞赛,学C还是C++?

先看C++和C的关系。C++是在C语言的基础上产生的,C++除了兼容C语言,还增加了标准模板库和面向对象两大特性。所谓标准模板库,就是C++中提供了一些好用的工...

41540
来自专栏这里只有VxWorks

Utility之printf的格式化输出与转义字符

printf() - 向标准输出设备写入格式化语句。成功输出后,返回输出的字符数;否则返回负值

14840
来自专栏python学习教程

为何人工智能(AI)首选Python?如何转行Python人工智能?

Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以小的给各位看官们准备了高价值Python学习视频教程及相关电子版书籍,欢迎前来领取...

16530
来自专栏这里只有VxWorks

UGL之Simulator里的WindML

WindML - Wind River Media Library。听上去是个多媒体库,但大家一直把它当作图形库,据说当初第一个版本的名字就叫UGL。目前最低版...

12830
来自专栏Web技术布道师

PHP 的 self 关键字

PHP群里有人询问 self 关键字的用法,答案是比较明显的:静态成员函数内不能用 this 调用非成员函数,但可以用 self 调用静态成员函数/变量/常量;...

11610
来自专栏pangguoming

Xcode添加库文件framework (转)

首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用。

23530
来自专栏这里只有VxWorks

Component之C++

首先,VxWorks支持C++编程,毕竟面向对象语言功能强大。不过因为性能的原因,在实时系统里,更多的还是使用C语言来编程。尤其在信号和中断处理函数里调用C++...

10940
来自专栏达达前端

(33)Vue购物车

static、relative、absolute、fixed、inherit、sticky

17630

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励