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

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中各种特征检测与描述方法明显更多,给大家选择的余地更大,其中一些方法都是近几年的新发研究论文实现。

原文发布于微信公众号 - OpenCV学堂(CVSCHOOL)

原文发表时间:2017-01-24

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏贾志刚-OpenCV学堂

OpenCV3.3深度学习模块(DNN)应用-图像分类

DNN模块介绍 在OpenCV3.3版本发布中把DNN模块从扩展模块移到了OpenCV正式发布模块中,当前DNN模块最早来自Tiny-dnn,可以加载预先训练好...

64770
来自专栏程序员的知识天地

Python学习,这有可能是最详细的PIL库基本概念文章了

PIL有如下几个模块:Image模块、ImageChops模块、ImageCrackCode模块、ImageDraw模块、ImageEnhance模块、Imag...

13030
来自专栏破晓之歌

通过 Python 接口使用 OpenCV 原

1.通过 Python 接口使用 OpenCV :https://blog.csdn.net/mzpmzk/article/details/68952160

11020
来自专栏大数据智能实战

facebook Faiss的基本使用示例(逐步深入)

针对上一篇文章,安装完毕之后,可以对faiss进行基本的案例学习,具体步骤如下: step1:构造实验数据 ? step2:为向量集构建IndexFlatL2索...

1.2K50
来自专栏编程

隐马尔科夫模型 python 实现简单拼音输入法

关键时刻,第一时间送达! ? 在网上看到一篇关于隐马尔科夫模型的介绍,觉得简直不能再神奇,又在网上找到大神的一篇关于如何用隐马尔可夫模型实现中文拼音输入的博客(...

39500
来自专栏AI科技大本营的专栏

Hinton胶囊理论代码开源,上线即受热捧

当前的深度学习理论是由Geoffrey Hinton大神在2007年确立起来的,但是如今他却认为,“CNN的特征提取层与次抽样层交叉存取,将相同类型的相邻特征检...

31290
来自专栏贾志刚-OpenCV学堂

OpenCV中原始图像加载与保存压缩技巧

OpenCV中关于图像读写有两个函数imread与imwrite,imread加载的时候支持灰度图像、彩色图像、原始图像加载,默认情况下通过imread加载的图...

18710
来自专栏机器学习AI算法工程

Weka中BP神经网络的实践(参数调整以及结果分析)

本来想的是以理论和实践相结合,前面讲讲神经网络,后面简单讲下在weka中怎么使用BP神经网络,可惜最后时间不够。因为是讲稿,讲的要比写的多,所以很多地方口语化和...

67980
来自专栏企鹅号快讯

Hinton胶囊理论代码开源,上线即受热捧

当前的深度学习理论是由GeoffreyHinton大神在2007年确立起来的,但是如今他却认为,“CNN的特征提取层与次抽样层交叉存取,将相同类型的相邻特征检测...

21960
来自专栏AI研习社

Github 项目推荐 | Basel Face Model 2017 完全参数化人脸

本软件可以从 Basel Face Model 2017 里生成完全参数化的人脸,论文链接: https://arxiv.org/abs/1712.01619 ...

84170

扫码关注云+社区

领取腾讯云代金券