SLAM中用到的opencv一些数据结构和函数

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; 

};

 

猜你喜欢

转载自blog.csdn.net/stevedish_xiaojia/article/details/83065395
今日推荐