ORB-SLAM2编译并跑通自己的数据集
Posted Coco_酱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
大功告成!
以上是关于ORB-SLAM2编译并跑通自己的数据集的主要内容,如果未能解决你的问题,请参考以下文章
微信公众号开发技术基础:Eclipse+Tomcat搭建本地服务器并跑通HelloWorld程序
从零开始的三维激光雷达SLAM教程第一讲(搭建运行环境,并跑Kitti数据集)
跑通代码---CVPR2020--StegaStamp: Invisible Hyperlinks in Physical Photographs