您的位置:首页 > 运维架构

OpenCV特征匹配相关结构(KeyPoint&DMatch类型简介)

2015-05-03 11:20 906 查看

本文转自:http://blog.csdn.net/u011867581/article/details/21871685

1. 特征点类:

[cpp]
view plaincopyprint?





class KeyPoint
{ Point2f pt; //坐标
float size; //特征点邻域直径
float angle; //特征点的方向,值为[零,三百六十),负值表示不使用
float response;
int octave; //特征点所在的图像金字塔的组
int class_id; //用于聚类的id
}

class KeyPoint
{            Point2f  pt;  //坐标
             float  size; //特征点邻域直径
             float  angle; //特征点的方向,值为[零,三百六十),负值表示不使用
             float  response;
             int  octave; //特征点所在的图像金字塔的组
             int  class_id; //用于聚类的id
}
2. 存放匹配结果的结构:

[cpp]
view plaincopyprint?





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;
};

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;
};
3. 图片中特征点欧式距离的计算公式:

0ρ = √( (x1-x2)2+(y1-y2)2 ) |x| = √( x2 + y2 )
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: