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

ORB-SLAM简介

Ubuntu16.03配置安装及运行ORB-SLAM3(含遇到的坑与注意事项)

深度学习之初识篇——小白也能跑通的深度学习万能框架交通标识牌检测