安装完成ROS后再安装openCV并且多版本共存

系统相关信息

ubuntu 18
ROS:ROS melodic

由于ros自带的openCV版本为3.2.0,编译ORB-SALM要求openCV版本大于3.3.,因此,再安装openCV3.4.10和openCV 4.5.4,原有的ROS安装的opencv不卸载,直接再安装opencv3.4.10和4.5.4版本,安装教程参见以下链接。

  1. ubuntu20.04下多版本opencv共存和切换
  2. ubuntu20安装opencv4和opencv_contrib 多版本共存
  3. 视觉学习笔记10——opencv的卸载、安装与多版本管理

安装可能遇到的问题参见这三个博客,基本上都覆盖了。

特别需要说明的是,多版本安装时,cmake 指令设置时必须设置准备安装的文件位置。

cmake -D  CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3.4.10  -D OPENCV_EXTRA_MODULES_PATH=/home/xiujie/Downloads/opencv-3.4.10/opencv_contrib-3.4.10/modules/ -D OPENCV_GENERATE_PKGCONFIG=YES -D OPENCV_ENABLE_NONFREE=True  -D BUILD_opencv_cudacodec=OFF ..

其中参数 -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3.4.10后面的路径设置为自己预期的安装路径,此处务必修改,因为如果不设置,就会安装到默认文件夹下,当换版本安装时,就会覆盖掉前面安装的opencv。另外,opencv4以上默认不再生成pkgconfig文件,因此设置指令为 -D OPENCV_GENERATE_PKGCONFIG=YES,不然就得后续自己手动添加,具体可以搜索。

环境配置

环境配置这步可以直接修改~/.bashrc文件(我的bashrc文件是这个路径,具体根据自己的设置)。在这个链接ubuntu20安装opencv4和opencv_contrib 多版本共存中需要创建并修改文件sudo vim /etc/ld.so.conf.d/opencv.conf,实际测试不用修改这个文件,直接修改~/.bashrc文件即可。
使用vim编辑:
vim ~/.bashrc
在文件的末尾添加,以opencv3.4.10为例:

export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/data/caoxiujie/packages/opencv3.4.10/lib/pkgconfig/
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/data/caoxiujie/packages/opencv3.4.10/lib/

具体的路径为自己设置安装的路径。安装完opencv4.5.4后同样修改并添加上述两行,注意修改地址。

当修改完成后,执行指令

source ~/.bashrc

如果调用的是opencv3.4.10,版本查看指令为

pkg-config --modversion opencv

如果想调用opencv4.5.4版本,就将opencv3.4.10的两行代码注释掉,然后再执行source ~/.bashrc,执行后使用指令查看:

pkg-config --modversion opencv4

如果想调用ROS自带的opencv3.2.0版本,就将opencv3.4.10和opencv4.5.4的信息全部注释掉,然后新开终端,输入指令

pkg-config --modversion opencv

界面显示如下:
opencv版本查询
至此就可以完成多版本切换,但是一次只能使用一个版本,但是需要注意,如果修改了系统默认的opencv版本后,再使用ROS调用opencv库时会发生错误,此时建议修改cv_bridge文件,可用的参考链接为:
1.Ubuntu18.04 + ROS 终端在 /usr/local 路径下安装opencv4.1.1
2. Ubuntu环境下ROS安装自己OPENCV版本

  • 18
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值