資源簡介
三維重建。跟蹤。ORB SLAM2 源碼。
代碼片段和文件信息
/**
?*?File:?BowVector.cpp
?*?Date:?March?2011
?*?Author:?Dorian?Galvez-Lopez
?*?Description:?bag?of?words?vector
?*?License:?see?the?LICENSE.txt?file
?*
?*/
#include?
#include?
#include?
#include?
#include?
#include?“BowVector.h“
namespace?DBoW2?{
//?--------------------------------------------------------------------------
BowVector::BowVector(void)
{
}
//?--------------------------------------------------------------------------
BowVector::~BowVector(void)
{
}
//?--------------------------------------------------------------------------
void?BowVector::addWeight(WordId?id?WordValue?v)
{
??BowVector::iterator?vit?=?this->lower_bound(id);
??
??if(vit?!=?this->end()?&&?!(this->key_comp()(id?vit->first)))
??{
????vit->second?+=?v;
??}
??else
??{
????this->insert(vit?BowVector::value_type(id?v));
??}
}
//?--------------------------------------------------------------------------
void?BowVector::addIfNotExist(WordId?id?WordValue?v)
{
??BowVector::iterator?vit?=?this->lower_bound(id);
??
??if(vit?==?this->end()?||?(this->key_comp()(id?vit->first)))
??{
????this->insert(vit?BowVector::value_type(id?v));
??}
}
//?--------------------------------------------------------------------------
void?BowVector::normalize(LNorm?norm_type)
{
??double?norm?=?0.0;?
??BowVector::iterator?it;
??if(norm_type?==?DBoW2::L1)
??{
????for(it?=?begin();?it?!=?end();?++it)
??????norm?+=?fabs(it->second);
??}
??else
??{
????for(it?=?begin();?it?!=?end();?++it)
??????norm?+=?it->second?*?it->second;
norm?=?sqrt(norm);??
??}
??if(norm?>?0.0)
??{
????for(it?=?begin();?it?!=?end();?++it)
??????it->second?/=?norm;
??}
}
//?--------------------------------------------------------------------------
std::ostream&?operator<(std::ostream?&out?const?BowVector?&v)
{
??BowVector::const_iterator?vit;
??std::vector::const_iterator?iit;
??unsigned?int?i?=?0;?
??const?unsigned?int?N?=?v.size();
??for(vit?=?v.begin();?vit?!=?v.end();?++vit?++i)
??{
????out?<“<“?<first?<“?“?<second?<“>“;
????
????if(i???}
??return?out;
}
//?--------------------------------------------------------------------------
void?BowVector::saveM(const?std::string?&filename?size_t?W)?const
{
??std::fstream?f(filename.c_str()?std::ios::out);
??
??WordId?last?=?0;
??BowVector::const_iterator?bit;
??for(bit?=?this->begin();?bit?!=?this->end();?++bit)
??{
????for(;?last?first;?++last)
????{
??????f?<“0?“;
????}
????f?<second?<“?“;
????
????last?=?bit->first?+?1;
??}
??for(;?last?(WordId)W;?++last)
????f?<“0?“;
??
??f.close();
}
//?--------------------------------------------------------------------------
}?//?namespace?DBoW2
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-10-11?04:43??ORB_SLAM2-master\
?????文件?????????552??2017-10-11?04:43??ORB_SLAM2-master\.gitignore
?????文件????????2932??2017-10-11?04:43??ORB_SLAM2-master\CMakeLists.txt
?????文件????????1789??2017-10-11?04:43??ORB_SLAM2-master\Dependencies.md
?????目錄???????????0??2017-10-11?04:43??ORB_SLAM2-master\Examples\
?????目錄???????????0??2017-10-11?04:43??ORB_SLAM2-master\Examples\Monocular\
?????文件????????1855??2017-10-11?04:43??ORB_SLAM2-master\Examples\Monocular\EuRoC.yaml
?????目錄???????????0??2017-10-11?04:43??ORB_SLAM2-master\Examples\Monocular\EuRoC_TimeStamps\
?????文件???????73640??2017-10-11?04:43??ORB_SLAM2-master\Examples\Monocular\EuRoC_TimeStamps\MH01.txt
?????文件???????60800??2017-10-11?04:43??ORB_SLAM2-master\Examples\Monocular\EuRoC_TimeStamps\MH02.txt
?????文件???????54000??2017-10-11?04:43??ORB_SLAM2-master\Examples\Monocular\EuRoC_TimeStamps\MH03.txt
?????文件???????40660??2017-10-11?04:43??ORB_SLAM2-master\Examples\Monocular\EuRoC_TimeStamps\MH04.txt
?????文件???????45460??2017-10-11?04:43??ORB_SLAM2-master\Examples\Monocular\EuRoC_TimeStamps\MH05.txt
?????文件???????58240??2017-10-11?04:43??ORB_SLAM2-master\Examples\Monocular\EuRoC_TimeStamps\V101.txt
?????文件???????34200??2017-10-11?04:43??ORB_SLAM2-master\Examples\Monocular\EuRoC_TimeStamps\V102.txt
?????文件???????42980??2017-10-11?04:43??ORB_SLAM2-master\Examples\Monocular\EuRoC_TimeStamps\V103.txt
?????文件???????45600??2017-10-11?04:43??ORB_SLAM2-master\Examples\Monocular\EuRoC_TimeStamps\V201.txt
?????文件???????46960??2017-10-11?04:43??ORB_SLAM2-master\Examples\Monocular\EuRoC_TimeStamps\V202.txt
?????文件???????38440??2017-10-11?04:43??ORB_SLAM2-master\Examples\Monocular\EuRoC_TimeStamps\V203.txt
?????文件????????1820??2017-10-11?04:43??ORB_SLAM2-master\Examples\Monocular\KITTI00-02.yaml
?????文件????????1821??2017-10-11?04:43??ORB_SLAM2-master\Examples\Monocular\KITTI03.yaml
?????文件????????1822??2017-10-11?04:43??ORB_SLAM2-master\Examples\Monocular\KITTI04-12.yaml
?????文件????????1875??2017-10-11?04:43??ORB_SLAM2-master\Examples\Monocular\TUM1.yaml
?????文件????????1876??2017-10-11?04:43??ORB_SLAM2-master\Examples\Monocular\TUM2.yaml
?????文件????????1813??2017-10-11?04:43??ORB_SLAM2-master\Examples\Monocular\TUM3.yaml
?????文件????????4547??2017-10-11?04:43??ORB_SLAM2-master\Examples\Monocular\mono_euroc.cc
?????文件????????4606??2017-10-11?04:43??ORB_SLAM2-master\Examples\Monocular\mono_kitti.cc
?????文件????????4457??2017-10-11?04:43??ORB_SLAM2-master\Examples\Monocular\mono_tum.cc
?????目錄???????????0??2017-10-11?04:43??ORB_SLAM2-master\Examples\RGB-D\
?????文件????????2075??2017-10-11?04:43??ORB_SLAM2-master\Examples\RGB-D\TUM1.yaml
?????文件????????2076??2017-10-11?04:43??ORB_SLAM2-master\Examples\RGB-D\TUM2.yaml
............此處省略224個文件信息
評論
共有 條評論