c++学习16System.cc的SLAM.TrackMonocular(im,tframe)
类对象mpTracker、mpLocalMapper、mpLoopCloser都是十分重要的,是整个系统最最核心的3个类对象
-
//输入为单目图像时的追踪器接口
-
cv::Mat System::TrackMonocular(const cv::Mat &im, const double ×tamp)
-
{
-
/*1、判断传感器的类型是否为单目模式,如果不是,则表示设置错误,函数直接返回
-
-
2、上锁 模式锁(mMutexMode):
-
(1)如果目前需要激活定位模式,则请求停止局部建图,并且等待局部建图线程停止,设置为仅追踪模式。
-
(2)如果目前需要取消定位模式,则通知局部建图可以工作了,关闭仅追踪模式
-
-
3、上锁 复位锁(mMutexReset): 检查是否存在复位请求,如果有,则进行复位操作
-
-
4、核心部分: 根据输入的图像获得相机位姿态(其中包含了特征提取匹配,地图初始化,关键帧查询等操作)
-
-
5、进行数据更新,如追踪状态、当前帧的地图点、当前帧矫正之后的关键点等。*/
-
-
-
//4、获取相机位姿的估计结果
-
cv::Mat Tcw = mpTracker->GrabImageMonocular(im,timestamp);
-
-
unique_lock<mutex> lock2(mMutexState);
-
-
//5、
-
mTrackingState = mpTracker->mState;
-
mTrackedMapPoints = mpTracker->mCurrentFrame.mvpMapPoints;
-
mTrackedKeyPointsUn = mpTracker->mCurrentFrame.mvKeysUn;
-
-
return Tcw;
-
}
mpTracker的初始化
-
mpTracker = new Tracking(this, //
-
mpVocabulary, //字典
-
mpFrameDrawer, //帧绘制器
-
mpMapDrawer, //地图绘制器
-
mpMap, //地图
-
mpKeyFrameDatabase, //关键帧地图
-
strSettingsFile, //设置文件路径
-
mSensor); //传感器类型iomanip
-
cv::Mat Tracking::GrabImageMonocular(const cv::Mat &im,const double ×tamp)
-
{
-
mImGray = im;
-
-
// Step 1 :将彩色图像转为灰度图像
-
//若图片是3、4通道的,还需要转化成灰度图
-
-
// Step 2 :构造Frame
-
//判断该帧是不是初始化
-
mCurrentFrame = Frame(
-
mImGray,
-
timestamp,
-
mpORBextractorLeft, //正常运行的时的ORB特征点提取器,提取指定数目特征点
-
mpORBVocabulary,
-
mK,
-
mDistCoef,
-
mbf,
-
mThDepth);
-
-
-
// Step 3 :跟踪
-
Track();
-
-
//返回当前帧的位姿
-
return mCurrentFrame.mTcw.clone();
-
}
GrabImageMonocular 函数中,最核心的部分在于 Track() 函数。但是其上的 Frame 创建也是十分重要的,其中做了很多追踪需要的预备工作,如图像金字塔、特征提取,关键点矫正、特征点均匀分布等操作
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfieaka
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13