opencv中keypoint数据结构分析
2016-03-25 11:00
274 查看
分析opencv中keypoint数据结构的相关信息,找到opencv的document(http://docs.opencv.org/java/org/opencv/features2d/KeyPoint.html)。可以看到KeyPoint这数据结构中有
如下数据结构:
angle:角度,表示关键点的方向,通过Lowe大神的论文可以知道,为了保证方向不变形,SIFT算法通过对关键点周围邻域进行梯度运算,求得该点方向。-1为初值。
class_id:当要对图片进行分类时,我们可以用class_id对每个特征点进行区分,未设定时为-1,需要靠自己设定
octave:代表是从金字塔哪一层提取的得到的数据。
pt:关键点点的坐标
response:响应程度,代表该点强壮大小,一开始我也理解不了,看到两位stackoverflow大大的原话(http://stackoverflow.com/questions/10328298/what-does-size-and-response-exactly-represent-in-a-surf-keypoint,http://stackoverflow.com/questions/24699495/opencv-keypoints-response-greater-or-less?lq=1)——response代表着该关键点how good,更确切的说,是该点角点的程度。瞬间明白。
size:该点直径的大小
注意一个问题:keypoint只是保存了opencv的sift库检测到的特征点的一些基本信息,也就上面所说的这些,但sift所提取出来的特征向量其实不是在这个里面,特征向量通过SiftDescriptorExtractor 提取,结果放在一个Mat的数据结构中。这个数据结构才真正保存了该特征点所对应的特征向量。具体见后文对SiftDescriptorExtractor 所生成的对象的详解。
转自http://www.cnblogs.com/cj695/ 作者77695
如下数据结构:
angle:角度,表示关键点的方向,通过Lowe大神的论文可以知道,为了保证方向不变形,SIFT算法通过对关键点周围邻域进行梯度运算,求得该点方向。-1为初值。
class_id:当要对图片进行分类时,我们可以用class_id对每个特征点进行区分,未设定时为-1,需要靠自己设定
octave:代表是从金字塔哪一层提取的得到的数据。
pt:关键点点的坐标
response:响应程度,代表该点强壮大小,一开始我也理解不了,看到两位stackoverflow大大的原话(http://stackoverflow.com/questions/10328298/what-does-size-and-response-exactly-represent-in-a-surf-keypoint,http://stackoverflow.com/questions/24699495/opencv-keypoints-response-greater-or-less?lq=1)——response代表着该关键点how good,更确切的说,是该点角点的程度。瞬间明白。
size:该点直径的大小
注意一个问题:keypoint只是保存了opencv的sift库检测到的特征点的一些基本信息,也就上面所说的这些,但sift所提取出来的特征向量其实不是在这个里面,特征向量通过SiftDescriptorExtractor 提取,结果放在一个Mat的数据结构中。这个数据结构才真正保存了该特征点所对应的特征向量。具体见后文对SiftDescriptorExtractor 所生成的对象的详解。
转自http://www.cnblogs.com/cj695/ 作者77695
相关文章推荐
- 数据结构面试题(更新中。。。)
- 浅谈数据结构vector
- 浅谈数据结构vector
- 【数据结构】链表
- 删除顺序表指定元素
- 【数据结构】【C++】二叉树的建立和先序遍历----(1)
- OpenCV3学习笔记-数据结构和基本绘图
- C语言 算法与数据结构 栈
- 二叉查找树的数据结构以及实现(JAVA)
- 一道算法题
- Flink内存管理源码解读之基础数据结构
- 数据结构(二)二叉搜索树-非递归实现遍历
- FFmpeg中比较重要的函数以及数据结构
- 一道算法题
- 【数据结构】二叉树
- 【数据结构】二叉树
- 数据结构算法 (一)
- ACM 数据结构入门
- 数据结构和算法------查找
- python 下的数据结构与算法---4:线形数据结构,栈,队列,双端队列,列表