解决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博客

相关推荐
keep_learning1111 小时前
Z-Image模型架构全解析
人工智能·算法·计算机视觉·大模型·多模态
奔袭的算法工程师2 小时前
论文解读--FocalFormer3D : Focusing on Hard Instance for 3D Object Detection
人工智能·目标检测·计算机视觉
only-lucky2 小时前
OpenCV(第一章)
人工智能·opencv·计算机视觉
C66668885 小时前
机器视觉常见相机类型
数码相机·计算机视觉
AndrewHZ5 小时前
【图像处理基石】如何高质量地生成一张庆祝元旦的图片?
图像处理·人工智能·opencv·算法·计算机视觉·生成式模型·genai
柠檬07116 小时前
vector<cv::point2f>如何快速转成opencv mat
人工智能·opencv·计算机视觉
Pyeako6 小时前
Opencv计算机视觉
人工智能·python·深度学习·opencv·计算机视觉
学习3人组6 小时前
目标检测训练常见问题排查清单
人工智能·目标检测·计算机视觉
Space-Junk6 小时前
C#描述-计算机视觉OpenCV(8):OCR字符检测
opencv·计算机视觉·c#
小白开始进步7 小时前
USB相机连接与操作:基于OpenCV的完整实现
人工智能·数码相机·opencv