Keypoint 特征点
对特征点进行描述:有以下一些公有属性
Point2f pt:特征点的位置
Float angle:特殊点的方向,不同的特征检测算法方向的计算不一样的
Int class_id:表征这个点属于哪个类
Int octave: 表示从金字塔哪一层提取到的特征点
Float response: 代表着该关键点how good
Float size:表明该点直径的大小
Mat 矩阵
它是一个基本的图像存放的容器。常用属性如下:
Uchar* data: 指向数据的指针
Int dims: 矩阵的维数
DMatch
struct DMatch
{ //三个构造函数
DMatch():
queryIdx(-1),trainIdx(-1),imgIdx(-1),distance(std::numeric_limits<float>::max()) {}
DMatch(int _queryIdx, int _trainIdx, float _distance ) :
queryIdx( _queryIdx),trainIdx( _trainIdx), imgIdx(-1),distance( _distance) {}
DMatch(int _queryIdx, int _trainIdx, int _imgIdx, float _distance ) : queryIdx(_queryIdx), trainIdx( _trainIdx), imgIdx( _imgIdx),distance( _distance) {}
int queryIdx; //此匹配对应的查询图像的特征描述子索引
int trainIdx; //此匹配对应的训练(模板)图像的特征描述子索引
int imgIdx; //训练图像的索引(若有多个)
float distance; //两个特征向量之间的欧氏距离,越小表明匹配度越高。
bool operator < (const DMatch &m) const;
};