前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenCV 3.1.0中特征检测与描述算法接口改动

OpenCV 3.1.0中特征检测与描述算法接口改动

作者头像
OpenCV学堂
发布2018-04-04 10:47:56
1.3K0
发布2018-04-04 10:47:56
举报
文章被收录于专栏:贾志刚-OpenCV学堂

OpenCV从 2.4.x升级到3.x中有很多代码重构和性能提高,还有API接口的整合,以Feature2D及其扩展模块的特征检测与描述为例,在OpenCV2.4.x中可以通过FeatureDetector::create("特征名称");方法创建一个检测器,2.4.x中支持的检测类型如下。

把特征名称换成上面列表中任意一个,从而实现对图像特征检测。但是到了OpenCV3.1.0中如果你还是这么用,VS预编译就会报告说FeatureDetector::create()方法不存在,原因是OpenCV在最新的3.1.0版本中已经去掉了该方法,对所有特征提取的方法进行了重新梳理并且出现了几种新的特征检测与描述方法。现总结如下(不敢保证没有遗漏,但是已经够多了)

- BRISK: detector + descriptor

- ORB: detector + descriptor

- MSER: detector

- FAST: detector

- AGAST: detector

- GFFT: detector

- SimpleBlobDetector: detector

- KAZE: detector + descriptor

- AKAZE: detector + descriptor

- FREAK: descriptor

- StarDetector: detector

- BriefDescriptorExtractor: descriptor

- LUCID: descriptor

- LATCH: descriptor

- DAISY: descriptor

- MSDDetector: detector

- SIFT: detector + descriptor

- SURF: detector + descriptor

对上述列表说明如下:

detector

表示该特征可以作为检测器生成KeyPoint数组vector对象

descriptor

表示该特征可以从KeyPoint结果得到描述子Mat对象

detector+descriptor

表示该特征二者皆可

那么问题来了使用OpenCV 3.1.0的版本如何调用这些API接口实现图像特征点检测与描述子生成。以ORB为例特征检测生成关键点的代码如下:

运行结果如下:

由此可以,在OpenCV 3.1.0中各种特征检测与描述方法明显更多,给大家选择的余地更大,其中一些方法都是近几年的新发研究论文实现。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-01-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenCV学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档