打印

ROS jazzy 和 OpenCV 4.10 不兼容问题

[复制链接]
56|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
keer_zu|  楼主 | 2025-6-21 10:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

解决方案:

  1. 卸载 ROS 提供的 OpenCV 4.6 bash

    sudo apt remove ros-jazzy-vision-opencv
  2. 安装系统 OpenCV 开发包 bash

    sudo apt install libopencv-dev
  3. 创建自定义 cv_bridge 包 bash

    mkdir -p ~/custom_cv_bridge_ws/src
    cd ~/custom_cv_bridge_ws/src
    git clone -b jazzy https://github.com/ros-perception/vision_opencv.git
  4. 修改 cv_bridge 配置 bash

    nano ~/custom_cv_bridge_ws/src/vision_opencv/cv_bridge/CMakeLists.txt

    find_package(OpenCV QUIET) 前添加: cmake

    set(OpenCV_DIR "/usr/lib/x86_64-linux-gnu/cmake/opencv4")
  5. 编译自定义 cv_bridge bash

    cd ~/custom_cv_bridge_ws
    rosdep install --from-paths src --ignore-src -y
    colcon build
  6. 在项目中使用自定义 cv_bridgevision_processorCMakeLists.txt 中添加: cmake

    # 在 find_package(cv_bridge) 前添加
    list(APPEND CMAKE_PREFIX_PATH "$ENV{HOME}/custom_cv_bridge_ws/install")
  7. 更新链接顺序vision_processorCMakeLists.txt 中: cmake

    target_link_libraries(vision_processor
      ${OpenCV_LIBS}  # 先链接 OpenCV
      cv_bridge::cv_bridge  # 再链接 cv_bridge
      # ... 其他依赖
    )
  8. 设置环境变量~/.bashrc 末尾添加: bash

    source ~/custom_cv_bridge_ws/install/setup.bash
    source ~/vision_control_ws/install/setup.bash

验证配置

  1. 检查 OpenCV 版本: bash

    pkg-config --modversion opencv4
    # 应输出 4.10.x
  2. 检查 cv_bridge 链接: bash

    ldd ~/custom_cv_bridge_ws/install/lib/libcv_bridge.so | grep opencv
    # 应显示 libopencv_core.so.410 等
  3. 重新编译项目: bash

    cd ~/vision_control_ws
    colcon build --packages-select vision_processor

备选方案:使用符号链接

如果仍遇到问题,创建符号链接让系统认为 4.10 是 4.6:

bash

sudo ln -s /usr/lib/x86_64-linux-gnu/libopencv_core.so.410 /usr/lib/x86_64-linux-gnu/libopencv_core.so.406
sudo ln -s /usr/lib/x86_64-linux-gnu/libopencv_imgcodecs.so.410 /usr/lib/x86_64-linux-gnu/libopencv_imgcodecs.so.406

说明

  1. 此方案保留了 OpenCV 4.10 的所有功能
  2. 自定义编译的 cv_bridge 确保与 ROS Jazzy 兼容
  3. 链接顺序 (OpenCV_LIBScv_bridge 前) 是关键
  4. 此方法避免了系统级修改,所有自定义都在用户空间完成

注意:OpenCV 4.6 和 4.10 API 高度兼容,但测试所有视觉功能以确保稳定性仍很重要。如果遇到特定功能问题,可能需要小范围调整 API 调用。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:qq群:49734243 Email:zukeqiang@gmail.com

1459

主题

12847

帖子

53

粉丝