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
}
[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;
};
0ρ = √( (x1-x2)2+(y1-y2)2 ) |x| = √( x2 + y2 )
本文转自: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 )
相关文章推荐
- opencv特征匹配相关结构(keypoint&DMatch类型简介)
- OpenCV特征匹配相关结构(KeyPoint&DMatch)
- OpenCV特征匹配相关结构(KeyPoint&DMatch)
- KeyPoint&DMatch类型简介
- scala学习之内建控制结构->匹配(match)表达式
- opencv_关于特征点匹配的数据结构
- 特征点匹配 opencv系列函数解析 追踪相关(一)
- Opencv——新版本2.4.2简介&FREAK和ORB特征描述子效果对比features2d
- 学习OpenCV——Fast(特征点篇) (&DrawMatchFlags)
- opencv图像特征检测及匹配(harris,sift,surf,fast,breif,orb,BFmatch,FlannBasedMatcher)
- Python-opencv3 特征匹配match和drawMatches的使用
- 11级_Java_曹建波4.20 封装类&日期相关类型&数学相关类型
- opencv特征检测与匹配
- 3、opencv特征的提取与配准 keypoint and match
- 使用RANSAC提纯ORB和BRISK特征点,达到鲁棒匹配的效果(OpenCV 2.4.13下,源码)
- OpenCV成长之路(9):特征点检测与图像匹配
- OpenCV 使用 FLANN 库实现特征匹配
- OpenCV_局部图像特征的提取与匹配_源代码
- OpenCV特征点检测——Surf(特征点篇)&flann
- 使用Opencv进行图像特征点检查与匹配