linux安装多个版本的opencv并切换使用

一、安装的大致步骤

  • /usr/local/下新建opencv版本的路径,比如这里安装opencv-3.4.8,那么就在这个路径下建立opencv-3.4.8的文件夹。注意要使用命令行然后sudo建立
  • 把下载的opencv-3.4.5.zip文件夹解压到自己的一个库文件目录下,比如是~/myLibs,然后在文件夹下新建build文件夹,为后面编译使用。
  • 这里为了后面使用方便,建议安装的时候一并把contrib模块一起安装上。首先到github上下载对应版本的contrib模块,然后解压到上一步解压出来的opencv-3.4.5文件夹下。
  • 设置CMAKE_INSTALL_PREFIX=/usr/local/opencv-3.4.8;选择OPENCV_EXTRA_MODULES_PATH=~/myLibs/opencv-3.4.5/opencv_contrib-3.4.8/modules/安装contrib,注意是contrib下面的modules,不是contrib;选择OPENCV_ENABLE_NONFREE=True使用非免费的模块。

大致命令如下所示:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/opencv-3.4.8(设置安装的位置)
-DOPENCV_EXTRA_MODULES_PATH=/home/guojun/opencv-3.4.8.bak/opencv_contrib-3.4.8/modules/(增加额外模块位置)
-DOPENCV_ENABLE_NONFREE=True(允许使用非免费的模块) ..

二、多个版本的切换

        其实就是设置自己的环境变量,需要什么版本就设置什么样的环境变量;

sudo gedit /etc/ld.so.conf.d/opencv.conf
#  在文件末尾添加下面语句
/usr/local/opencv-3.4.8/lib
# 执行生效
sudo ldconfig

export PKG_CONFIG_PATH=/usr/local/opencv-3.4.8/lib/pkgconfig
export LD_LIBRARY_PATH=/usr/local/opencv-3.4.8/lib
source ~/.zshrc
sudo updatedb

三、使用不同版本的opencv

cmake_minimum_required(VERSION 2.8)  
#其實如果在.bashrc中设置了环境变量效果是一样的
set(OpenCV_DIR /usr/local/opencv_3.4.13/share/OpenCV)
project(test)  
find_package(OpenCV REQUIRED) 
include_directories(${OpenCV_INCLUDE_DIRS})

在OpenCV编译好后,所在目录中会生成OpenCVConfig.cmake文件,这个文件中指定了CMake要去哪里找OpenCV,其.h文件在哪里等。
存在多版本OpenCV时,需要找到所需版本对应的OpenCVConfig.cmake文件,并将其路径添加到工程的CMakeLists.txt中。网上有些教程不怎么对,我们需要设置OpenCVConfig-version.cmake所在的位置

set(OpenCV_DIR /usr/local/opencv_3.4.13/share/OpenCV)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值