ORB-SLAM2稠密点云重建:双目室外[0]

本文介绍了如何使用ORB-SLAM2进行双目稠密点云重建,主要涉及利用视差图计算左图深度信息,并通过LIBELAS工具生成双目重建所需的输入。步骤包括获取相机位姿、图像格式转换、使用elas生成视差图以及设置双目参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于ORB-SLAM2双目的稠密点云重建与RGBD的稠密重建大同小异,而且很多代码通用。所以建议朋友们可以先看一下我之前的ORB-SLAM2稠密点云重建:RGBD室内

这里先提一下总体思路。由于利用RGBD的框架去做,所以对于双目来说,最主要的就是得到其视差图,然后利用双目的其中1张(你也可以试试用两张,我选择左图)作为rgb图,将视差图得出左图深度信息。这样就通用起来了。也许你会担心ORB-SLAM2输出的位姿是中心点的位姿而不是左图的位姿,这样会不会有什么问题。我的目前的观点是认为左中心和中心相对固定,而且误差在大尺度SLAM下显得微乎其微,所以并没有考虑这个问题,如有误也请读者指正。LIBELAS的视频(需要翻墙其网站上才会有视频)展示了其完整的双目重建,但我也没找到其源码(有找到的同学务必告诉我啊)。而且其视频效果我不知道是否有人工处理,或挑选了比较好看的部分。(哈哈,这么猜测有些小气,但也并非不合理。谁让他不开源呢?没有开源精神的世界就是这么讨人厌)。不过比较好的是,LIBELAS提供并开源了双目获得深度的工具elas,我们就利用它生成视差图,然后在代码中从视差图得出左图深度信息。

好了,废话就这么多,下面开始。

步骤0:准备工作之位姿文件

与ORB-SLAM2的git主页的双目例子一样,我选择KITTI的灰度图数据集中的00,运行ORB-SLAM2,会生成CameraTrajectory.txt。这是每帧的相机位姿。不知道为什么ORB-SLAM2没有写双目例子的关键帧输出文件。我目前也懒得管或写,就干脆直接用这个每帧文件。我复制数据集和每帧文件到Win下,D盘SLAM文件夹,然后重命名每帧文件为StereoTraj.txt。正常的话StereoTraj.txt应该有4541行。

步骤1:准备工作之为LIBELAS转化pgm

由于LIBELAS提供的工具ela

### 解决 ORB-SLAM2 稠密点云生成中的共享库加载错误 当尝试运行 `octovis` 并遇到如下错误提示: ``` error while loading shared libraries: libQGLViewer.so.2: cannot open shared object file: No such file or directory ``` 这表明系统无法找到所需的共享库文件 `libQGLViewer.so.2`。此问题通常可以通过安装缺失的依赖项来解决。 #### 安装 QGLViewer 库 为了使程序能够正常工作,需要确保已经正确安装了 QGLViewer 库及其开发包。可以使用以下命令来进行安装[^1]: ```bash sudo apt-get update sudo apt-get install libqglviewer-qt5-dev ``` 如果上述方法未能解决问题,则可能是因为路径配置不正确或者存在多个不同版本冲突的情况。此时应该检查环境变量设置以及确认 `/etc/ld.so.conf.d/` 下是否有合适的配置文件指向该库的位置。 另外,在某些情况下,即使安装成功也可能因为链接器缓存未更新而导致找不到新加入的动态链接库。因此建议执行下面这条指令刷新全局链接器缓存: ```bash sudo ldconfig ``` 对于 Eigen 和 g2o 版本兼容性的问题也值得注意。由于这两个库都是 ORB-SLAM2 的重要组成部分之一,所以它们之间的匹配度会直接影响到系统的稳定性与性能表现。根据以往经验来看,较低版本组合往往更加稳定可靠一些;例如可以选择 Eigen 3.x.y (x<=3, y<4) 配合相应版本号范围内的 G2O 来构建项目[^3]。 通过以上措施应当能有效处理因缺少特定共享对象而引发的应用启动失败现象,并保障后续操作顺利开展。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值