ubuntu18、20 cv_bridge 与自带opencv版本冲突问题

这篇具有很好参考价值的文章主要介绍了ubuntu18、20 cv_bridge 与自带opencv版本冲突问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景:

nvidia tx2、xvaier 装机自带 ubuntu18 + opencv4 

后来我们会安装melodic的ros,ros中的cv_bridge 默认cv版本是3.2.0

编译带cv_bridge的代码时,会报错会崩溃,因为版本冲突了

为了解决该问题, 行之有效的一种解法是重新安装 cv_bridge,使其兼容opencv 4

安装cv_bridge with opencv4

1、git clone https://github.com/ros-perception/vision_opencv.git

切换版本到 noetic(melodic 和 noetic 的 ros均推荐使用该版本)

2、修改 cv_bridge/CmakeLists.txt

project(cv_bridge) -> project(my_cv_bridge)

DIRECTORY include/${PROJECT_NAME}/ -> DIRECTORY include/cv_bridge/

3、编译my_cv_bridge

cd cv_bridge & mkdir build & cd build

cmake .. & make -j4

sudo make install

如果是 melodic ,会出现两个问题:参考:解决 cv_bridge 与 opencv4 版本冲突问题_Thoven的博客-CSDN博客
① 编译过程中会报错:

Could not fild the following Boost libraries: boost_python37

找不到 boost_python37 库。

可以直接修改 CMakeLists.txt 文件:

find_package(Boost REQUIRED python37) -> find_package(Boost REQUIRED python3)

② 重新编译,发现还是会有错误。

ubuntu18、20 cv_bridge 与自带opencv版本冲突问题,opencv,人工智能,计算机视觉

修改 cv_bridge/src/module.hpp 文件下 void* do_numpy_import()函数为:

static void do_numpy_import( )
{
    import_array( );
}

4、使用my_cv_bridge(以vins-fusion为例)

VINS-Fusion/vins_estimator/CMakeLists.txt 和 VINS-Fusion/loop_fusion/CMakeLists.txt中的

find_package(catkin REQUIRED COMPONENTS
    cv_bridge)

改成

/usr/local/share/my_cv_bridge/cmake

find_package(catkin REQUIRED COMPONENTS
    my_cv_bridge)

重新编译你的 vins-fusion 即可文章来源地址https://www.toymoban.com/news/detail-732584.html

到了这里,关于ubuntu18、20 cv_bridge 与自带opencv版本冲突问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ROS高效进阶第四章 -- 机器视觉处理之图像格式,usb_cam,摄像头标定,opencv和cv_bridge引入

    从本文开始,我们用四篇文章学习ROS机器视觉处理,本文先学习一些外围的知识,为后面的人脸识别,目标跟踪和yolov5目标检测做准备。 我的笔记本是Thinkpad T14 i7 + Nvidia MX450,系统是ubuntu20.04,ros是noetic。由于很多驱动与硬件强相关,请读者注意这点。 本文的参考资料有:

    2024年02月04日
    浏览(43)
  • ROS自带OpenCV和本地OpenCV版本冲突问题解决

    首先catkin_make编译功能包没有任何问题,100%生成目标文件,但是报了警告:库文件libmyslam.so需要的是libopencv_core.so.3.4,可能会与libopencv_core.so.3.2冲突。根据工程经验,警告不用管,直接运行完事。

    2024年02月12日
    浏览(55)
  • ubuntu20.04找不到#include<opencv/cv.h>文件

     编译ROS包的时候出现错误:fatal error:opencv/cv.h : No such file or directory #includeopencv/cv.h 查看opencv4版本: 在opencv4中opencv2的cv.h融合进了imgproc.hpp里: 把源码中的 #include opencv/cv.h 修改为 #include opencv2/imgproc.hpp 即可。 编译成功.

    2024年02月04日
    浏览(34)
  • 解决PCL和OpenCV中flann库冲突的问题(Ubuntu20.04+VSCode)

    做视觉处理,尤其是三维视觉和点云处理等,基本都离不开这俩大库,以前要么单独用OpenCV做二维,要么纯用PCL做点云后处理。因为准备把学习期间的代码整合起来,所以需要同时使用两个库,结果发现 flann库冲突 的问题🤪 查阅了一下网上的方案,基本有几种方案 1.建议改

    2024年02月15日
    浏览(56)
  • ubuntu18.04下opencv多版本安装及切换

    Opencv网站:https://opencv.org/releases/ 查看已安装opencv的版本 建立opencv安装文件夹 下载解压后 安装路径设置:CMAKE_INSTALL_PREFIX=/usr/local/opencv4.5.1 成功图示 1、安装成功后还需要设置opencv的环境变量。打开文件: 2、将opencv3.4.5库文件的路径添加到环境变量中,将以下内容添加到最后

    2024年04月16日
    浏览(61)
  • Ubuntu20.04安装c++版本的OpenCV

    https://www.jianshu.com/p/3c2fc0da7398 https://docs.opencv.org/4.5.3/d7/d9f/tutorial_linux_install.html https://www.jianshu.com/p/3c2fc0da7398 https://www.cnblogs.com/yongy1030/p/10293178.html 其实官网步骤已经非常清楚了,只不过是英文的,可能有小伙伴看不下去,所以不妨看看这篇博客。 进入官网,选择你要下载的

    2024年02月12日
    浏览(40)
  • ubuntu20.04下多版本opencv共存和切换

    之前在ubuntu20.04系统上已经安装了opencv4.5.5和扩展库opencv_contrib4.5.5,但是最近需要跑一下PL-SLAM的源代码,而PL-SLAM系统是基于opencv3.x.x开发的,直接运行会出现很多opencv版本不兼容的问题。因此想再安装opencv3.4.5和扩展库opencv_contrib3.4.5,过程中出现了很多问题,写这篇文章记录

    2024年02月08日
    浏览(144)
  • Ubuntu20.04 OpenCV详细安装教程(附多版本切换共存教程)

    opencv安装有两种方式: 1.使用包管理器安装预编译版本(安装十分简单,但是 版本只有4.2.0 ,且没有扩展模块且不支持Qt窗口) 2.从源码安装(比较复杂,但是推荐) 这样就安装完成了 这种安装方法,默认把opencv相关文件放置在系统目录 官网下载地址 https://opencv.org/release

    2024年03月13日
    浏览(91)
  • 编译工程需要Opencv3 与 ROS自带Opencv4冲突解决办法

    在CmakeLists中 屏蔽ROS自带的Opencv库 此时可能 cv_brige 也会发生冲突,因为默认的 cv_brige 也是和 Opencv4 配套使用 需要修改如下内容: 1.头文件目录:修改为安装opencv3的路径 2.库目录:需要什么库链接什么库就够了

    2024年02月08日
    浏览(40)
  • 无线网卡驱动安装 (驱动为rtl8811CU)基于NVIDIA XAVIER NX 下的ubuntu18.04 和ubuntu20.04两个不同版本

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 基于NVIDIA Xavier NX 此处是绿联AC650M,根据商家的教程,显示我ubuntu内核太高。因此不能用他们提供的驱动。 奇怪的是我在ubuntu20.04使用的方法在18.04上就不适用,因此我在这分为两个不同版本进行演示安

    2024年02月15日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包