opencv ubuntu18.04 cv_bridge 碎碎念

本文介绍了如何解决ROS中的cv_bridge与OpenCV版本不对应的问题。cv_bridge作为连接ROS和OpenCV的桥梁,其版本需要与OpenCV相匹配。提供了两种方法:一是通过重新下载cv_bridge并指定OpenCV路径;二是直接在原有cv_bridge中配置。此外,还给出了查询系统和Python环境下OpenCV版本的命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 关于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为例)。

  1. 下载ubuntu18.04 的cv_bridge,链接如下
    ubuntu18.04 cv_bridge for melodic
  2. 按照链接进行编译或者按照下文进行编译
  • 下载
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 文件中进行配置
未完待续

3.一些零碎方法

  1. 查询当前系统opencv版本
pkg-config --modversion opencv
  1. 查询python 下 opencv 版本
python
import cv2
cv2.__version__
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值