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

来源:互联网 发布:运营商网络制式 编辑:程序博客网 时间:2024/05/17 01:31


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

1. 特征点类:

    [cpp] view plaincopyprint?在CODE上查看代码片派生到我的代码片
    1. class KeyPoint  
    2. {            Point2f  pt;  //坐标  
    3.              float  size; //特征点邻域直径  
    4.              float  angle; //特征点的方向,值为[零,三百六十),负值表示不使用  
    5.              float  response;  
    6.              int  octave; //特征点所在的图像金字塔的组  
    7.              int  class_id; //用于聚类的id  
    8. }  
    2. 存放匹配结果的结构:
    [cpp] view plaincopyprint?在CODE上查看代码片派生到我的代码片
    1. struct DMatch  
    2. {         //三个构造函数  
    3.           DMatch():  
    4. queryIdx(-1),trainIdx(-1),imgIdx(-1),distance(std::numeric_limits<float>::max()) {}  
    5.           DMatch(int  _queryIdx, int  _trainIdx, float  _distance ) :  
    6. queryIdx( _queryIdx),trainIdx( _trainIdx), imgIdx(-1),distance( _distance) {}  
    7.           DMatch(int  _queryIdx, int  _trainIdx, int  _imgIdx, float  _distance ) :                   queryIdx(_queryIdx), trainIdx( _trainIdx), imgIdx( _imgIdx),distance( _distance) {}  
    8.           int queryIdx;  //此匹配对应的查询图像的特征描述子索引  
    9.           int trainIdx;   //此匹配对应的训练(模板)图像的特征描述子索引  
    10.           int imgIdx;    //训练图像的索引(若有多个)  
    11.           float distance;  //两个特征向量之间的欧氏距离,越小表明匹配度越高。  
    12.           bool operator < (const DMatch &m) const;  
    13. };  
    3. 图片中特征点欧式距离的计算公式:
    0ρ = √( (x1-x2)2+(y1-y2)2 ) |x| = √( x2 + y2 )

1 0
原创粉丝点击