【ORB_SLAM2源码解读】MapPoint SetWorldPos、GetWorldPos、GetNormal、mNormalVector

//设置地图点在世界坐标系下的坐标
void MapPoint::SetWorldPos(const cv::Mat &Pos)
{
    unique_lock<mutex> lock2(mGlobalMutex);
    unique_lock<mutex> lock(mMutexPos);
    Pos.copyTo(mWorldPos);
}
//获取地图点在世界坐标系下的坐标
cv::Mat MapPoint::GetWorldPos()
{
    unique_lock<mutex> lock(mMutexPos);
    return mWorldPos.clone();
}
//世界坐标系下地图点被多个相机观测的平均观测方向
cv::Mat MapPoint::GetNormal()
{
    unique_lock<mutex> lock(mMutexPos);
    return mNormalVector.clone();
}

// Mean viewing direction
cv::Mat mNormalVector;
mNormalVector = cv::Mat::zeros(3,1,CV_32F);
mNormalVector = mWorldPos - Ow;
mNormalVector = mNormalVector/cv::norm(mNormalVector);

你可能感兴趣的:(从零开始学习SLAM,ORB_SLAM2,ORB_SLAM3)