C++OpenCV特征提取之如何实现KAZE和AKAZE的匹配

这篇文章主要为大家展示了“C++ OpenCV特征提取之如何实现KAZE和AKAZE的匹配”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C++ OpenCV特征提取之如何实现KAZE和AKAZE的匹配”这篇文章吧。

站在用户的角度思考问题,与客户深入沟通,找到华宁网站设计与华宁网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、做网站、企业官网、英文网站、手机端网站、网站推广、域名申请网站空间、企业邮箱。业务覆盖华宁地区。

代码演示

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

C++ OpenCV特征提取之如何实现KAZE和AKAZE的匹配

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

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

C++ OpenCV特征提取之如何实现KAZE和AKAZE的匹配

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


KAZE

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

C++ OpenCV特征提取之如何实现KAZE和AKAZE的匹配


再用Flann的方式进行匹配

C++ OpenCV特征提取之如何实现KAZE和AKAZE的匹配


画出匹配的关键点

C++ OpenCV特征提取之如何实现KAZE和AKAZE的匹配

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

C++ OpenCV特征提取之如何实现KAZE和AKAZE的匹配

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


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

C++ OpenCV特征提取之如何实现KAZE和AKAZE的匹配

C++ OpenCV特征提取之如何实现KAZE和AKAZE的匹配

然后重新显示一下效果

C++ OpenCV特征提取之如何实现KAZE和AKAZE的匹配

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


AKAZE

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

C++ OpenCV特征提取之如何实现KAZE和AKAZE的匹配

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

C++ OpenCV特征提取之如何实现KAZE和AKAZE的匹配

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

C++ OpenCV特征提取之如何实现KAZE和AKAZE的匹配

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

以上是“C++ OpenCV特征提取之如何实现KAZE和AKAZE的匹配”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


新闻名称:C++OpenCV特征提取之如何实现KAZE和AKAZE的匹配
转载来源:http://bzwzjz.com/article/pgdjce.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站建设公司 温江网站设计 网站制作 企业网站建设 温江网站设计 成都网站建设 app网站建设 手机网站制作设计 网站设计 营销型网站建设 古蔺网站建设 成都网站制作 成都网站建设 成都网站建设公司 成都网站设计 外贸网站建设 高端网站建设 网站设计 响应式网站设计方案 企业网站建设公司 重庆手机网站建设 成都定制网站建设