一起研究ORB-SLAM(四)--程序结构

转载自:一起研究ORB-SLAM(四)--程序结构

今天的内容很少,主要是介绍关于啊ORB-SLAM的工程结构,主要是他的每个文件的作用。

我想大多数人在第一次看到ORB-SLAM的时候是不是脑子变得大大,因为不知到怎么下手去处理,连个目录程序的主要入口都不知到,我也是,迷糊了一段时间,然后明白了,就分享给大家了。

以往关于ORB-SLAM文章
一起研究ORB-SLAM(一)---结构和入口
  一起研究ORB-SLAM(二)---Tracking线程
  一起研究ORB-SLAM(三)--LocalMapping和LoopClosing线程


如下是介绍了各种文件的流程,请大家对照文件的再次回顾下 ORB-SLAM源码,一定要记住,入口程序是System.cpp是入口程序!!!!
 
 
Converter.cpp 从opencv到Matrix矩阵的一些转换方法

Frame.cpp 基础类

FrameDrawer.cpp 画帧类

Initiallzer.cpp 初始化的基础类

KeyFrame.cpp 关键帧基础类

KeyFrameDatabase.cpp 关键帧数据库类,后期闭环筛选,重定位在这里了

LocalMapping.cpp
LoopClose.cpp 两个线程


Map.cpp
 MapPoint点的集合


MapDrawer.cpp 画匹配点

ORBextractor.cpp 提取ORB特征,这个被改过了

ORBmathcher.cpp 特征匹配

Optimizer.cpp 优化类

PnPsolver.cpp
PnP求解类

Sim3Solver 求解器

System.cpp 程序入口

Traching.cpp 追踪线程

Viewer.cpp 视图线程

小莱姆:师兄,不是说好的Sim3吗,你是个骗子,大骗子。
师兄: 师兄的 Sim3 遇到了点问题,推迟 推迟!!
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ORB-SLAM3 是一种用于实时摄像头SLAM (Simultaneous Localization and Mapping) 的开源系统。以下是在Ubuntu操作系统上实操ORB-SLAM3程序的步骤: 1. 安装依赖项 ORB-SLAM3需要安装一些依赖项,包括Eigen, Pangolin, OpenCV, g2o等。可以通过命令行安装这些依赖项,例如: ``` sudo apt-get install libeigen3-dev libpangolin-dev libopencv-dev libopencv-highgui-dev libopencv-calib3d-dev libopencv-contrib-dev libopencv-imgproc-dev libopencv-video-dev libglew-dev libc++-dev libblas-dev liblapack-dev libatlas-base-dev libsuitesparse-dev ``` 2. 下载ORB-SLAM3 可以在ORB-SLAM3的官方网站上下载源代码。 3. 编译ORB-SLAM3 进入ORB-SLAM3的源代码目录,运行以下命令: ``` mkdir build cd build cmake .. make ``` 4. 运行ORB-SLAM3 运行以下命令启动ORB-SLAM3: ``` ./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /path/to/dataset ``` 其中,/path/to/dataset是要处理的数据集的路径。 以上是在Ubuntu上实操ORB-SLAM3程序的基本步骤。但是在具体操作中,还需要根据实际情况进行一些参数配置和调试。 ### 回答2: 要实操ORB-SLAM3的程序,可以按照以下步骤进行: 1. 环境配置:首先需要在计算机上配置好相应的环境。ORB-SLAM3是一个基于C++的开源项目,可以在GitHub上找到其源代码。在配置环境过程中,需要确保计算机上安装了CMake、OpenCV和Pangolin等必要的依赖库。 2. 下载ORB-SLAM3代码:在GitHub上找到ORB-SLAM3的源代码,并将其下载到本地计算机上。确保下载的版本是稳定的,并且符合你的实际需求。 3. 构建项目:使用CMake工具,根据ORB-SLAM3的CMakeLists.txt文件,构建可执行文件。这一步将会编译源代码并生成可执行文件,用于运行ORB-SLAM3程序。 4. 准备数据集:为了运行ORB-SLAM3,需要准备一个实际的数据集,可以是从相机或者其他传感器中获得的视频或图像序列。确保数据集包含足够多的特征点和图像质量较好。 5. 运行ORB-SLAM3:执行生成的可执行文件,并指定数据集的路径作为输入参数。ORB-SLAM3将自动读取数据集,进行图像特征提取、相机位姿估计、特征点匹配等计算,并输出实时的相机轨迹和三维地图重建结果。 6. 分析和调试:根据ORB-SLAM3的输出结果,可以对实际运行的效果进行分析和调试。观察相机轨迹是否准确,重建的三维地图是否符合预期,并检查是否存在错误或异常情况。 总结:实操ORB-SLAM3的程序主要包括环境配置、下载源代码、构建项目、准备数据集、运行程序和分析调试。通过这些步骤,可以使用ORB-SLAM3进行实时的视觉SLAM(同时定位与地图构建),并从输入的图像序列中获取相机的位置姿态和环境的三维结构。 ### 回答3: 要实操ORB-SLAM3的程序,可以按照以下步骤进行操作: 1. 环境准备:首先,需要准备好合适的硬件设备,如搭载Ubuntu操作系统的计算机和摄像头。然后,在计算机上安装相应的开发环境和依赖库,如CMake、OpenCV和Eigen等。 2. 下载源代码:在ORB-SLAM3的GitHub仓库上,下载源代码并解压到本地。可以通过命令行或者GUI界面进行操作。 3. 编译代码:使用CMake来构建和编译ORB-SLAM3的源代码。在终端中切换到ORB-SLAM3的根目录,在终端中执行以下命令: ``` mkdir build cd build cmake .. make -j ``` 这将生成可执行文件和相关的库文件。 4. 数据集准备:获取用于测试的数据集,可以是视频文件或图像序列。确保数据集与ORB-SLAM3的输入格式兼容,如图像的分辨率和格式等。 5. 运行程序:在终端中执行以下命令,运行ORB-SLAM3程序,并指定数据集作为输入: ``` ./Examples/Monocular/mono_sam Examples/Monocular/Vocabulary/ORBvoc.txt Examples/Monocular/KITTI00-02.yaml path_to_dataset_directory ``` 其中,ORBvoc.txt是ORB特征词汇文件,KITTI00-02.yaml是相机参数文件,path_to_dataset_directory是数据集所在的目录。 6. 观察结果:ORB-SLAM3程序将会运行,并输出实时的相机位姿估计和场景重建结果。可以在控制台中观察输出信息,或者在图形界面中查看实时的相机轨迹和稀疏点云重建结果。 需要注意的是,实操ORB-SLAM3的程序需要一定的编程和计算机视觉知识基础,同时要理解程序的工作原理和参数配置。此外,为了获得更好的实验结果,可以尝试不同的配置和数据集,以及对源代码进行定制化开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值