一. 关于cv_bridge 和 Opencv 版本对应问题
1.cv_bridge 的作用
见ros官方解答(官方还提供了一些练习)
ros_cv_bridge
核心:cv_bridge 是连接ros和opencv 的一个桥梁
2.如何使ros_bridge版本 对应opencv 版本
方法一
重新下载一个cv_bridge,在编译之前把其他版本的opncv的路径写到MakeList.txt中,详细见下(ubuntu18.04为例)。
- 下载ubuntu18.04 的cv_bridge,链接如下
ubuntu18.04 cv_bridge for melodic - 按照链接进行编译或者按照下文进行编译
- 下载
mkdir -p cv_bridge_ws/src
cd cv_bridge_ws/src
git clone https://gitee.com/bingobinlw/cv_bridge
cd ..
- 将opencv编译生成的build文件路径加入到CMakeLists.txt(详见cv_bridge目录下的CMakeLists.txt文件)如果是自己通过编译新安装的opencv 都是有这个build文件的
set(OpenCV_DIR "/home/usrname/opencv-3.4.11/build")
- 编译
catkin_make
- 部署到所需要的ros包
将所需的修改的ros包里的CMakeLists.txt文件中添加opencv路径以及cv_bridge路径
(作者将包都下载在了home下所以路径是这样的)
set(OpenCV_DIR "home/usrname/opencv-x.x.x/build")
set(cv_bridge_DIR home/usrname/cv_bridge_ws/devel/share/cv_bridge/cmake)
- 使用
#include <cv_bridge/cv_bridge.h> #cpp 文件这样引用
方法二
在原始的cv_bridge 文件中进行配置
未完待续