//输入为当前帧
//返回和当前帧相似的一组关键帧
vector<KeyFrame*> KeyFrameDatabase::DetectRelocalizationCandidates(Frame *F)
{
list<KeyFrame*> lKFsSharingWords;//这个list用来存放和当前帧存在相同单词的关键帧
// Search all keyframes that share a word with current frame
{
unique_lock<mutex> lock(mMutex);
for(DBoW2::BowVector::const_iterator vit=F->mBowVec.begin(), vend=F->mBowVec.end(); vit != vend; vit++)//开始遍历当前帧的各个单词 逆向索引
{
list<KeyFrame*> &lKFs = mvInvertedFile[vit->first];
//找出包含本单词的所有关键帧
for(list<KeyFrame*>::iterator lit=lKFs.begin(), lend= lKFs.end(); lit!=lend; lit++)
{
KeyFrame* pKFi=*lit;
if(pKFi->mnRelocQuery!=F->mnId)
{
pKFi->mnRelocWords=0;
ORB-SLAM2重定位算法之DetectRelocalizationCandidates(Frame *F)函数
最新推荐文章于 2024-01-26 16:48:16 发布
本文深入探讨ORB-SLAM2中的DetectRelocalizationCandidates函数,该函数在重定位过程中起关键作用,通过分析新帧与地图点的关系寻找重定位候选。内容涉及函数实现细节及在SLAM系统中的应用。

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



