Ubuntu20.04+ROS+VINS-Mono+VINS-Fusion解决catkin_make报错

由于ubuntu20.04自带的opencv版本为opencv4,而VINS所用的opencv版本为opencv3,在catkin_make🥌会有一堆报错,例如:

 对应解决方案:

1.

error: ‘CV_GRAY2RGB’ was not declared in this scope 
在报错的几个文件上添加头文件 #include <opencv2/imgproc/imgproc_c.h>

2.

error: ‘CV_CALIB_CB_ADAPTIVE_THRESH’ was not declared in this scope 、
error: ‘CV_CALIB_CB_NORMALIZE_IMAGE’ was not declared in this scope、
error: ‘CV_CALIB_CB_FILTER_QUADS’ was not declared in this scope 
error: ‘CV_CALIB_CB_FAST_CHECK’ was not declared in this scope
error: ‘CV_FONT_HERSHEY_SIMPLEX’ was not declared in this scope
将
CV_CALIB_CB_ADAPTIVE_THRESH、CV_CALIB_CB_NORMALIZE_IMAGE、
CV_CALIB_CB_FILTER_QUADS 、 CV_CALIB_CB_FAST_CHECK、
CV_FONT_HERSHEY_SIMPLEX
修改为 :
cv::CALIB_CB_ADAPTIVE_THRESH 、 cv::CALIB_CB_NORMALIZE_IMAGE 、
cv::CALIB_CB_FILTER_QUADS 、 cv::CALIB_CB_FAST_CHECK
cv::FONT_HERSHEY_SIMPLEX

3.在解决VINS-Fusion报错时,遇到比较特殊的:

error: ‘CV_LOAD_IMAGE_GRAYSCALE’ was not declared in this scope

在改为cv::LOAD_IMAGE_GRAYSCALE时,仍出现报错:

error: ‘LOAD_IMAGE_GRAYSCALE’ is not a member of ‘cv’

是因为CV_LOAD_IMAGE_GRAYSCALE变量名改为了:cv::IMREAD_GRAYSCALE,不要改成别的。

### 安装和配置 为了在Ubuntu 20.04上成功安装和运行VINS-Mono视觉惯性里程计系统,需遵循一系列特定的操作流程来确保各个组件兼容并能正常运作。 #### 准备工作环境 创建一个新的ROS工作空间用于存放项目源码: ```bash mkdir -p ~/vins_ws/src && cd ~/vins_ws/src ``` 初始化catkin工作区,并获取必要的依赖项。由于Ubuntu 20.04默认带有OpenCV 4.2版本,这通常能满足大多数需求[^1]。 #### 获取VINS-Mono源代码 通过Git克隆官方仓库到之前建立的工作区内: ```bash git clone https://github.com/HKUST-Aerial-Robotics/VINS-Mono.git vins-mono cd .. ``` #### 修改CMakeLists.txt适应本地环境 考虑到可能存在的库路径差异以及不同版本间的细微差别,建议调整`CMakeLists.txt`中的OpenCV查找逻辑以匹配系统的实际情况。对于已经预装了较高版次OpenCV的情况,可以参照如下方式指定确切位置: ```cmake set(OpenCV_DIR "/usr/local/opencv420/lib/cmake/opencv4") find_package(OpenCV 4.2.0 REQUIRED) ``` 此操作有助于解决因版本不一致引发的链接错误等问题[^4]。 #### 编译与测试 完成上述准备工作之后,在终端执行以下命令启动编译过程: ```bash catkin_make_isolated --install source devel/setup.bash roslaunch vins_estimator mono_realsense.launch ``` 以上指令序列将构建整个软件栈并将结果部署至适当的位置;最后一条则用来验证安装是否顺利完成,同时开启了一个基于RealSense摄像头的数据流处理实例[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值