版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_16481211/article/details/83578725
根据运动模型进行位姿计算,完成追踪。
step1
首先根据上一帧的位姿和上一帧相机运动的速度来估计当前位姿。
mCurrentFrame.SetPose(mVelocity*mLastFrame.mTcw);将当前帧的初始位姿设为上一帧位姿乘上一帧位姿的变化速度,得到当前的R,T
step2
通过投影的方式匹配当前帧和上一帧,并追踪上一帧的地图点
int nmatches = matcher.SearchByProjection(mCurrentFrame,mLastFrame,th,mSensor==System::MONOCULAR);
如果投影后匹配的点数小于20,就认为失败
step3
优化位姿并将地图点分为局外点和局内点
Optimizer::PoseOptimization(&mCurrentFrame);
step4
去除局外点,如果当前模型下的局内点数量大于10,则返回成功追踪。