ORB-SLAM2编译并跑通自己的数据集
我的环境是Ubuntu14.04虚拟机。
首先一定要认真看官网的安装教程,把需要安装的依赖都装好。https://github.com/raulmur/ORB_SLAM2
然后按以下步骤下载编译,我最开始是文件夹名称不为ORB_SLAM2,一直编译不成功,很是郁闷,重新按官网的git方法下载下来,很顺畅的就编译成功了,遇到同样问题的小伙伴可以试一下此解决方法
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
cd ORB_SLAM2
chmod +x build.sh
./build.sh
跑自己的数据集,我的是单目的,以mono_tum.cc为例,结合代码的内容,需要生产一个图像集关系。
1.首先用file_text.py生成图像集的txt,以下为.py的内容
import os def getName(num): strTmp = [] strRes = '' while(num / 10): strTmp.append(num % 10) num = num / 10 strTmp.append(num) n = len(strTmp) for i in range(0,5-n): strRes = strRes + '0' for i in range(n-1,-1,-1): strRes = strRes + str(strTmp[i]) return strRes file_object = open('rgb.txt','w') Ostr = '' num = len(os.listdir('rgb')) for i in range(1,num+1): name = getName(i) Ostr = Ostr + name + ' rgb/' + name + '.jpg\n' file_object.writelines(Ostr) file_object.close()
执行以下指令,rgb是文件夹,其中是要跑的自己的图片集,图片名称前面补0,补全5位。
效果如下
2.然后生成自己的参数配置文件SettingsMy.yaml。将TUM1.yaml的内容复制过来,相机参数修改成自己的即可。如下
3.cd到ORB-slam所在文件夹执行以下指令即可
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/SettingsMy.yaml /home/wxt/broden/project/test
大功告成!