CV_bridge和ROS自带的opencv版本冲突

  • Post author:
  • Post category:其他




CV_bridge和ROS自带的opencv版本冲突

📌ROS自带opencv3.2.0,我后期又自己安装了opencv3.4.12,这就造成程序在调用opencv函数的时候,就有很大程度会“链接错”opencv的动态库,从而导致出错;

这里就不得不吐槽一下网上的解决方案!写的都不行啊!

首先,没有说明白Opencv安装的路径是什么,这很重要,后期修改都需要知道opencv 的安装路径;

其次,如果选择“在工作空间中重新下载安装cv_bridge”,一定一定要指定cv_bridge的版本,他妈的!一开始都没留意!

一直使用ROS melodic版本,一开始也试过在github找

ros-perception

/


vision_opencv


。但是!居然没有成功。后来看到了神贴:


https://blog.csdn.net/qq_36814762/article/details/110230127#commentBox

在这篇帖子中,大佬发布了自己的melodic版本的cv-bridge:




https://gitee.com/bingobinlw/cv_bridge

?_ from=gitee_search

不得不说,大佬是真牛逼啊。


好!正题开始。

  • 首先!明确说了,如果自己安装了除了opencv3.2之外的opencv版本,那么就不要直接修改cv_bridge里面的各种文件!千万不要修改,要不然就会出现其他很奇葩的问题!
  • 然后!按照大佬的操作一步一步运行:


https://blog.csdn.net/qq_36814762/article/details/110230127#commentBox

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jJCKdVTq-1674551191246)(image/image_HEQYlXZDUh.png)]

这个大佬牛逼就牛逼在:说出了opencv_dir的地址!网上的教程,都是什么/usr/lib/xxx

这么说没有错,但是!我是opencv源码安装的,opencv直接就在/home/lanzy目录下,如果直接写/urs/lib/xxx,那肯定还是不管用啊。

  • 安装了指定的cv_bridge和指定了opencv的路径,那么下一步就是在工作空间(含cv_bridge)下进行catkin_make;如果幸运,那么不会报错。但是,大概率是会报错的,那么就参考:


https://blog.csdn.net/handsome_for_kill/article/details/114632972#commentBox

这一次出现的问题,都在上面的链接里出现过,有对应的解决方案;

至此!

在运行可执行文件的时候,就不会出现这样的错误:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AmfQ3v6m-1674551191248)(image/image_HMOm4lCly8.png)]

可能有用的链接:


https://blog.csdn.net/qinqinxiansheng/article/details/120219388#commentBox



版权声明:本文为m0_46905397原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。