解决ROS的cv_bridge与自己安装的opencv的版本冲突的问题

如果用ROS的topic传输图片,需要用到cv_bridge,这是个ros自带的opencv中的库,如果此时项目中引用了自己安装的opencv,自己安装的opencv会与ros自带的opencv中的cv_bridge冲突。编译时弹出warning: libopencv_imgproc.so.407, needed by /usr/local/lib/libopencv_features2d.so.4.7.0, may conflict with libopencv_imgproc.so.4.2。运行后 cv::imshow报Segmentation fault这个错误。

解决方法:

修改/opt/ros/noetic/share/cv_bridge/cmake文件夹中的cv_bridgeConfig.cmake,ctrl+f 搜索"set(libraries" 会看到cv_bridge所需要的库,这里面都是 .4.2.0的版本,将发生冲突的库改为自己的版本,比如我的是opencv4.8,就改为 .4.8.0,注意还有前面的路径一起改,4.8.0版本的这些库/usr/local/lib中,安装自己的opencv的时候安装到这里的。修改完后cv::imshow就不会报错了。

参考了这位博主的做法:解决Ubuntu环境下ROS Kinetic中的cv_bridge和自己安装OpenCV 2.4.xx兼容性笔记_ros安装opencv-CSDN博客

相关推荐
Hcoco_me10 小时前
深挖 TBD 核心进阶点:深度学习匹配(目标关联的“智能指纹”)
人工智能·深度学习·目标检测·计算机视觉·目标跟踪
sali-tec11 小时前
C# 基于OpenCv的视觉工作流-章24-SURF特征点
图像处理·人工智能·opencv·算法·计算机视觉
前端摸鱼匠11 小时前
YOLOv8 深入探索 Ultralytics CLI:一行命令搞定目标检测的魔法
人工智能·yolo·目标检测·计算机视觉·目标跟踪
爱吃鱼的两包盐11 小时前
VS2022 编译 OpenCV 4.7.0
opencv
Faker66363aaa11 小时前
YOLOv10n改进实现CFPT-P23456算法——压力容器管道表面轻微锈蚀检测
算法·yolo·计算机视觉
m0_6038887112 小时前
Chatting with Images for Introspective Visual Thinking
人工智能·计算机视觉·ai·论文速览
qq_3707730912 小时前
python实现人脸识别
开发语言·python·opencv
小龙12 小时前
【学习笔记】视频抽帧方法大全
笔记·学习·计算机视觉·视频·视频抽帧
Faker66363aaa13 小时前
大象目标检测与识别_yolo11-C2PSA-EPGO改进全流程实现
人工智能·目标检测·计算机视觉
ViiTor_AI13 小时前
视频字幕怎么去除?5 种方法删除硬编码字幕与软字幕(CapCut 实操)
人工智能·计算机视觉·音视频