Cube-slam复现及报错解决

https://github.com/shichaoy/cube_slam

这个代码版本太老,依赖库版本也太老,我的系统是ubuntu20.04,opencv4.5,编译会报很多错

其他库我是在以前运行orbslam2的时候都装好的,可以参照我以前的文章。

一、复现步骤

https://zhuanlan.zhihu.com/p/544128936

参照这个基本就可以了

复制代码
1. mkdir -p ~/cubeslam_ws/src
2. cd ~/cubeslam_ws/src
把下载好的cube_slam放到src
3. cd cube_slam
sh install_dependenices.sh
4. cd ~/cubeslam_ws 返回根目录
编译
catkin_make -j4 -DPYTHON_EXECUTABLE=/usr/bin/python3

然后你就会遇到很多报错!!没事,一个个来解决

二、报错解决

1. 报错1

复制代码
cubeslam_ws/src/cube_slam/line_lbd/libs/lsd.cpp:1168:32: error: 'CV_BGR2GRAY' was not declared in this scope; did you mean 'COLOR_BGR2GRAY'?
 1168 |         cvtColor(_image, gray, CV_BGR2GRAY);
      |                                ^~~~~~~~~~~
      |                                COLOR_BGR2GRAY

解决:CV_GRAY2BGRcv::COLOR_GRAY2BGR

2.报错2

复制代码
fatal error: opencv/cv.h: No such file or directory

解决:将头文件替换为#include <opencv2/opencv.hpp>

3. 报错3

复制代码
error: 'std::vector' has not been declared
note: 'std::vector' is defined in header '<vector>'; did you forget to '#include <vector>'?

解决:

复制代码
#把下面两行加在 matrix_utils.h 最上面
#include <vector>
#include <string>


并且在 matrix_utils.cpp 顶部加上:
#include <vector>

4. 报错4

复制代码
error: 'iota' is not a member of 'std'

解决:

复制代码
把下面头文件加到出现 iota 的 .cpp 顶部:
#include <numeric>

算了,一个个看报错太慢了。。我导出来错误有一万多行,虽然有很多事重复的。其实这些报错都是因为opencv版本或者其他依赖库的版本不对导致的,这个代码太老了,我的系统比较新,很多不适配,找到一个博主修改的,感谢大佬!!!

https://github.com/NeSC-IV/cube_slam-on-ubuntu20/blob/master/%E7%BC%96%E8%AF%91%E6%8C%87%E5%8D%97CubeSLAM%20Monocular%203D%20Object%20SLAM.md

先照着他这个一个个改完,应该没啥问题。后续我会考虑把改完的代码上传到github

纪念一下编译成功

三、运行

今天下雪先休息,明天再更。

相关推荐
Georgeviewer4 小时前
商业落地评测|实体门店GEO优化性价比与服务体系深度复盘
大数据·人工智能
GuWenyue4 小时前
分不清AI Workflow与Agent?3个实战案例彻底讲透,做AI应用不再踩选型坑
人工智能
彩讯股份3006345 小时前
彩讯股份与心洲科技签署战略合作协议,共建企业级模型后训练能力
人工智能·科技
迅易科技5 小时前
从场景验证到Agent上线:迅易 × WorkBuddy如何帮助企业建设AI能力?
人工智能·ai·腾讯云
PNP Robotics6 小时前
多伦多大学机器人峰会|物理AI与具身智能落地新趋势
人工智能·深度学习·机器学习·机器人
GIR1236 小时前
官方出品 | 多通道土壤呼吸测量系统市场现状与十五五规划深度报告:行业分析+趋势预测全收录
大数据·人工智能·机器学习
绿算技术6 小时前
绿算技术亮相第十八届HPC AI中国年会,擘画AI基础设施全栈协同新图景
人工智能
Litluecat6 小时前
2026年7月22日科技热点新闻
人工智能·科技·新闻·每日·速览
To_OC6 小时前
别再傻傻分不清:Workflow 和 Agent 到底不是一回事
人工智能·agent·workflow
触底反弹7 小时前
🔥 2026 大模型选择指南:别再只看 Benchmark 了,这些维度才是关键!
人工智能·面试