ubuntu 14.04 opencv2 和opencv3 多个版本切换使用

来源:互联网 发布:珠海知想科技餐厅 编辑:程序博客网 时间:2024/06/06 09:18

最近在学视觉SLAM过程中要使用opencv2 和opencv3 ,虽然说在程序里能修改opencv 代码,但是自从用上linux后不怕折腾的精神已经深入人心。安装双opencv切换使用多方便,在折腾了若干次之后终于成功了!下面就以opencv2.4.9和opencv3.2版本为例介绍双opencv的安装和切换使用,带大家出坑!

1、安装opencv常用依赖项

sudo apt-get install build-essential libgtk2.0-dev libvtk5-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev libtbb-dev

2、安装opencv2.4.9作为常用默认版本

2.1 下载opencv2.4.9
点击Sources下载opencv2.4.9

2.2 将opencv-2.4.9.zip文件解压到家目录下,并切换到opencv2.4.9目录下

unzip opencv-2.4.9.zip -d ~/cd opencv-2.4.9/

2.3 默认配置编译安装,默认安装路径/usr/local

mkdir buildcd buildcmake ..makesudo make install

3、安装opencv3.2.0作为备用版本

3.1 下载opencv3.2.0

点击 Sources下载opencv3.2.0

3.2 将opencv-3.2.0.zip文件解压到家目录下,并切换到opencv-3.2.0目录下

 unzip opencv-3.2.0.zip -d ~/ cd opencv-3.2.0/

3.3 自定义编译安装,自定义安装路径/usr/local/opencv3.2.0(注意不要将自定义路径设为/usr,亲试无效)

 mkdir build cd build cmake -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3.2.0 .. make sudo make install

如果cmake时遇到这样的错误:– ICV: Downloading ippicv_linux_20151201.tgz… CMake Error at 3rdparty/ippicv/downloader.cmake:73 (file):file DOWNLOAD HASH mismatch
点击链接ippicv_linux_20151201.tgz 并粘贴(替换)到目录opencv-3.2.0/3rdparty/ippicv/downloads/Linux-808b791a6eac9ed78d32a7666804320e/下即可。

4、opencv版本的使用

4.1 使用opencv2.4.9,默认find_package(OpenCV)就找了opencv2.4.9
CMakeLists.txt 文件如下

 # cmake version  cmake_minimum_required(VERSION 2.8)  # project name  project(test)  # find opencv  find_package(OpenCV REQUIRED)  include_directories(${OpenCV_INCLUDE_DIRS})  # add cpp file  add_executable(test test.cpp)  target_link_libraries(test ${OpenCV_LIBS})

4.2 使用opencv3.2.0,我们就要在CMakeLists.txt中指定opencv3.2.0的OpenCVConfig.cmake文件。

打开/usr/local/opencv3.2.0/share/OpenCV/就可以看到OpenCVConfig.cmake。

注意要在project()前设置路径,在find_package(OpenCV 3.2.0)指定版本。

CMakeLists.txt 文件如下

  # cmake version  cmake_minimum_required(VERSION 2.8)  # find opencv3 OpenCVConfig.cmake  set(OpenCV_DIR "/usr/local/opencv3.2.0/share/OpenCV")  # project name  project(test)  # find opencv  find_package(OpenCV 3.2.0 REQUIRED)  include_directories(${OpenCV_INCLUDE_DIRS})  # add cpp file  add_executable(test test.cpp)  target_link_libraries(test ${OpenCV_LIBS})

cmake编译截图如下:
这里写图片描述

这样,我们就可以opencv2.4 和opencv3.2切换使用了!

有问题欢迎回复交流。

阅读全文
1 0