master
liuyancheng 2021-09-14 19:46:23 +08:00
parent 6cd39454c8
commit a55d24a467
4 changed files with 7 additions and 4 deletions

View File

@ -531,6 +531,7 @@ namespace ORB_SLAM3 {
cv::SVD::compute(A,w,u,vt,cv::SVD::MODIFY_A| cv::SVD::FULL_UV);
cv::Matx41f x3D_h = vt.row(3).t();
x3D = x3D_h.get_minor<3,1>(0,0) / x3D_h(3);
// x3D = x3D_h.get_minor<3,1>(0,0) / x3D_h(3);
x3D = cv::Matx31f(x3D_h.get_minor<3,1>(0,0)(0) / x3D_h(3), x3D_h.get_minor<3,1>(0,0)(1) / x3D_h(3), x3D_h.get_minor<3,1>(0,0)(2) / x3D_h(3));
}
}

View File

@ -773,7 +773,9 @@ void LocalMapping::CreateNewMapPoints()
continue;
// 归一化成为齐次坐标,然后提取前面三个维度作为欧式坐标
// Euclidean coordinates
x3D = x3D_h.get_minor<3,1>(0,0) / x3D_h(3);
// x3D = x3D_h.get_minor<3,1>(0,0) / x3D_h(3);
x3D = cv::Matx31f(x3D_h.get_minor<3,1>(0,0)(0) / x3D_h(3), x3D_h.get_minor<3,1>(0,0)(1) / x3D_h(3), x3D_h.get_minor<3,1>(0,0)(2) / x3D_h(3));
bEstimated = true;
}

View File

@ -30,7 +30,7 @@ mutex MapPoint::mGlobalMutex;
/**
* @brief
*/
mnFirstKFid(0), mnFirstFrame(0), nObs(0), mnTrackReferenceForFrame(0),
MapPoint::MapPoint() : mnFirstKFid(0), mnFirstFrame(0), nObs(0), mnTrackReferenceForFrame(0),
mnLastFrameSeen(0), mnBALocalForKF(0), mnFuseCandidateForKF(0), mnLoopPointForKF(0), mnCorrectedByKF(0),
mnCorrectedReference(0), mnBAGlobalForKF(0), mnVisible(1), mnFound(1), mbBad(false),
mpReplaced(static_cast<MapPoint*>(NULL))

View File

@ -4383,7 +4383,7 @@ bool Tracking::Relocalization()
}
//整个追踪线程执行复位操作
void Tracking::Reset()
void Tracking::Reset(bool bLocMap)
{
Verbose::PrintMess("System Reseting", Verbose::VERBOSITY_NORMAL);
//基本上是挨个请求各个线程终止