c++学习【19】slam中的ORB类

两个类ExtractorNode和ORBextractor

私有变量

    std::vector<cv::Point> pattern;             ///<用于计算描述子的随机采样点集合

    int nfeatures;			                    ///<整个图像金字塔中,要提取的特征点数目
    double scaleFactor;		                    ///<图像金字塔层与层之间的缩放因子
    int nlevels;			                    ///<图像金字塔的层数
    int iniThFAST;			                    ///<初始的FAST响应值阈值
    int minThFAST;			                    ///<最小的FAST响应值阈值

    std::vector<int> mnFeaturesPerLevel;		///<分配到每层图像中,要提取的特征点数目

    std::vector<int> umax;	                    ///<计算特征点方向的时候,有个圆形的图像区域,这个vector中存储了每行u轴的边界(四分之一,其他部分通过对称获得)

    std::vector<float> mvScaleFactor;		    ///<每层图像的缩放因子
    std::vector<float> mvInvScaleFactor;        ///<以及每层缩放因子的倒数
    std::vector<float> mvLevelSigma2;		    ///<存储每层的sigma^2,即上面每层图像相对于底层图像缩放倍数的平方
    std::vector<float> mvInvLevelSigma2;	    ///<sigma平方的倒数

公共变量

    ///这个是用来存储图像金字塔的变量,一个元素存储一层图像
    std::vector<cv::Mat> mvImagePyramid;

这个类的公有函数有:

  • 构造函数 ORBextractor:根据输入的参数进行初始化
  • 析构函数 ~ORBextractor:进行清理工作,如释放内存等
  • operator():使用八叉树的方法提取ORB特征点,并计算特征描述子

这个类的私有函数有:

  • ComputePyramid:针对给出的一张图像,计算其图像金字塔
  • ComputeKeyPointsOctTree:以八叉树分配特征点的方式,计算图像金字塔中的特征点
  • DistributeOctTree:对于某一图层,分配其特征点,通过八叉树的方式
  • ComputeKeyPointsOld:使用另外一种老办法提取并平均特征点的方法(在实际程序中未使用)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值