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

相关推荐
深图智能2 小时前
OpenCV 4.10.0 图像处理基础入门教程
图像处理·opencv·计算机视觉
Fansv58714 小时前
深度学习-6.用于计算机视觉的深度学习
人工智能·深度学习·计算机视觉
SKYDROID云卓小助手14 小时前
无人设备遥控器之如何分享数传篇
网络·人工智能·算法·计算机视觉·电脑
old_power14 小时前
Linux(Ubuntu24.04)源码编译安装OpenCV4.6.0
linux·opencv
萧鼎17 小时前
利用 OpenCV 进行棋盘检测与透视变换
人工智能·opencv·计算机视觉
紫雾凌寒21 小时前
计算机视觉基础|卷积神经网络:从数学原理到可视化实战
人工智能·深度学习·神经网络·机器学习·计算机视觉·cnn·卷积神经网络
IT古董21 小时前
【深度学习】计算机视觉(CV)-图像生成-风格迁移(Style Transfer)
人工智能·计算机视觉
阿_旭21 小时前
目标检测中单阶段检测模型与双阶段检测模型详细对比与说明
人工智能·深度学习·目标检测·计算机视觉
FL16238631291 天前
[C++]使用纯opencv部署yolov12目标检测onnx模型
c++·opencv·yolo
紫雾凌寒1 天前
计算机视觉基础|从 OpenCV 到频域分析
深度学习·opencv·计算机视觉·傅里叶变换·频域分析