Chinaunix首页 | 论坛 | 博客
  • 博客访问: 9471912
  • 博文数量: 1751
  • 博客积分: 12961
  • 博客等级: 上将
  • 技术积分: 20101
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-09 11:25
个人简介

偷得浮生半桶水(半日闲), 好记性不如抄下来(烂笔头). 信息爆炸的时代, 学习是一项持续的工作.

文章分类

全部博文(1751)

文章存档

2024年(27)

2023年(26)

2022年(112)

2021年(217)

2020年(157)

2019年(192)

2018年(81)

2017年(78)

2016年(70)

2015年(52)

2014年(40)

2013年(51)

2012年(85)

2011年(45)

2010年(231)

2009年(287)

分类: 其他平台

2020-12-07 12:23:41

https://blog.csdn.net/learning_tortosie/article/details/80594399

前言

在开发不同工程时可能会需要不同版本的OpenCV,因此在电脑上安装多个版本的OpenCV很有必要。
很多人不敢尝试是担心出问题,其实这并不难,成功的关键是安装到不同的路径,并在CMakeList.txt中找到需要的版本。

多版本OpenCV共存

假设我们已经安装好一版OpenCV,一般都安装在/usr/local下。
如果需要安装另一个版本的OpenCV,就不能再安装到/usr/local,而是选择其他路径,否则会覆盖掉之前的版本。

下载OpenCV

首先去下载所需版本的Sources版,也可去下载。
假设我们安装的第二个OpenCV版本为3.4.1。

sudo apt-get install build-essential 
sudo apt-
get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-
get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

编译安装OpenCV

详见官方文档,参考步骤如下。

$ cd opencv-3.4.1
$ mkdir build
$ cd build
$ mkdir installed
$ cmake \
-DCMAKE_BUILD_TYPE=RELEASE \ -DCMAKE_INSTALL_PREFIX=~/opencv-3.4.1/build/installed \ \
-DWITH_CUDA=OFF \ \
-DBUILD_DOCS=OFF \ -DBUILD_EXAMPLES=OFF \ -DBUILD_TESTS=OFF \ -DBUILD_PERF_TESTS=OFF \ ..
$ make -j4
$ sudo make install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

说明
1. 其中~/opencv-3.4.1/build/installed为安装OpenCV3.4.1的路径,这个十分关键。
2. 设置OFF的理由如下,可大大加快编译速度,当然还要根据需求进行设置。




多版本OpenCV切换

打开~/.bashrc

$ gedit ~/.bashrc
  • 1

在文件末尾增加以下内容

export PKG_CONFIG_PATH=~/opencv-3.4.1/build/installed/lib/pkgconfig export LD_LIBRARY_PATH=~/opencv-3.4.1/build/installed/lib
  • 1
  • 2

更新~/.bashrc

$ source ~/.bashrc 
  • 1

查询OpenCV版本

$ pkg-config --modversion opencv
  • 1

如果输出3.4.1,就表明配置成功。
如果想使用之前的版本,在~/.bashrc中注释掉增加的内容,然后source ~/.bashrc即可。

如果只有一个版本的OpenCV,在CMakeList.txt中使用以下语句即可。

FIND_PACKAGE(OpenCV REQUIRED)
  • 1

在OpenCV编译好后,所在目录中会生成OpenCVConfig.cmake文件,这个文件中指定了CMake要去哪里找OpenCV,其.h文件在哪里等。
存在多版本OpenCV时,需要找到所需版本对应的OpenCVConfig.cmake文件,并将其路径添加到工程的CMakeLists.txt中。
示例如下:

cmake_minimum_required(VERSION 2.8) set(OpenCV_DIR "~/opencv-3.4.1/build") project(test) find_package(OpenCV REQUIRED) 
  • 1
  • 2
  • 3
  • 4

到这里,举一反三即可。

阅读(2241) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~