解决编译vinsmono时ROS的cv_bridge问题

1.问题产生

ubutnu18.04对应的ROS中,opencv版本是3.2.0,cv_bridge对应的opencv版本也是3.2.0,但有些情况下我们自己安装的opencv版本和ros自带的版本不一致,这里介绍一种不使用ros自带的opencv编译vinsmono的方法

2. 解决方法

卸载ros自带的cv_bridge

sudo apt-get remove ros-melodic-cv-bridge

下载cv_bridge

git clone https://github.com/ros-perception/vision_opencv.git

放到vinsmono的src/VINS-Mono目录下,用自己的opencv编译

catkin_make --pkg cv_bridge

注意一定要先编译cv_bridge,否则会报错
指定某个包编译

catkin_make -DCATKIN_WHITELIST_PACKAGES="cv_bidge"

然后恢复为编译所有

catkin_make -DCATKIN_WHITELIST_PACKAGES=""

这样就得到了基于自己opencv版本的cv_bridge
接下来就可以编译vinsmono

catkin_make

解决方法不止一种,也可以都使用opencv的版本,或者两个opencv的头文件和库文件都存在,分别使用也可以

你可能感兴趣的:(环境配置,opencv,c++,计算机视觉,ubuntu)