在ros noetic版本中,默认的cv_bridge依赖的opencv版本为4.2.0,若要升级opencv版本,则无法使用cv_bridge,所以需要重新自编译cv_bridge。
一. 编译cv_bridge
1.通过网站 https://github.com/ros-perception/vision_opencv/tree/noetic下载cv_bridge.
2.解压后,进入cv_bridge文件夹,修改CMakeLists.txt,设置自定义opencv的版本,图中修改为自己的opencv版本号,如find_package(OpenCV 4.5.4 QUIET)
3.执行一下命令,进行编译安装
mkdir build
cd build
cmake ..
sudo make install
二.环境配置
在需要opencv和cvbridge的包的cmakelist.txt中,设置cv_bridge的路径,并包含cv_bridge和opencv库,如下图所示:
编译生成可执行程序。
使用以下命令,查看可执行程序依赖的cv_bridge库,
ldd 自己的程序
使用同样的命令查看cv_bridge依赖的opencv库,如果是自己需要的opencv库,则表示成功,否则复制步骤一中生成的cv库到/opt/ros/noetic/lib/
下进行覆盖