近期事情太多了,课业也繁多,好久没更了,今天对OpenCV中经常用到的一些数据类型的结构进行一波分析,为自己做记录的同时也分享给大家。闲言少叙,开始操作。
一、KeyPoint 数据结构
angle //关键点的方向,值为0~360,负值表示不使用。如SIFT算法中为了保证方向不变形,
//通过对关键点周围邻域进行梯度运算,求得该点方向。(初值为-1)
octave //表示的是关键点所在的图像金字塔的层组
pt //关键点的坐标。pt.x为横坐标,pt.y为纵坐标。
reponse //响应程度,代表了该点是特征点的稳健度,可以用于后续处理中特征点排序
class_id //用于聚类的id,即当要对图片进行分类时,我们可以用class_id对每个关键点进行区分,
//默认为-1,也可自己设定
size //关键点邻域直径
OpenCV源码再现KeyPoint数据类型
二、DMatch 数据结构
queryIdx //query描述子的索引,即特征点在训练图像中检测出的特征点集中的下标号
trainIdx //train描述子的索引,即特征点在匹配图像中检测出的特征点集中的下标号
imgIdx //进行匹配图像的索引
//如已知一幅图像的sift描述子,与其他十幅图像的描述子进行匹配,
//找最相似的图像,则imgIdx此时就有用了。
distance //对应特征点之间的欧氏距离,越小表明匹配度越高
OpenCV源码再现