ORBSLAM源码理论分析1—特征点提取

本文详细解析了ORBSLAM系统中特征点提取的过程,包括图像灰度化、图像金字塔构建、特征点检测、高斯模糊及描述子计算,重点探讨了特征点的均匀分布策略和旋转不变性。
摘要由CSDN通过智能技术生成

1.读取待处理图片并灰度化

在这里插入图片描述  在这里插入图片描述
       原图            灰度化图像(第0层)

2.利用图像金字塔将灰度图尺度化为若干层

  程序中为8层金字塔,这里只展示前五层,原灰度图为第0层,则
在这里插入图片描述    在这里插入图片描述
      第1层              第2层
在这里插入图片描述     在这里插入图片描述
     第3层              第4层
  具体实现过程,以从第0层到第1层为例讲解。先根据第1层的尺度因数确定该层图像的size。然后将第0层图像缩放到这个size大小,缩放方式采用的是双线性差值法。然后扩充该缩放图像的边缘,程序中将图像四周各扩充了16个像素点,扩充方式为对称法(以图像扩充前最边缘像素为轴,对称扩充)。
  程序中的图像金字塔为8层,对每层都进行如是操作,最后将8层金字塔图像矩阵存储到一个vector<cv::Mat>容器mvMaskPyramid中。

3.特征点提取

  程序中将图像尺度化为8层图像金字塔,首先确定“期望提取到的特征点总数量(nfeatures)”是多少,然后以一定的规则确定“各层期望提取到的特征点数量(mnFeaturesPerLevel [level])”是多少,Level取值范围为0-7,最后对每层分别进行特征点提取。以第0层为例(nDesiredFeatures = mnFeaturesPerLevel [0]),讲解此过程。
  将第0层图像分割成若干图像网格区域,对每个网格区域分别进行特征点提取。那么问题来了,若干个区域是多少区域?怎么划分呢?下面给出划分依据。
  首先,你自己要确定“你期望每个网格区域可以提取出多少(nfeaturesCell)个特征点”,然后根据公式nCells = nDesiredFeatures / nfeaturesCe

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值