ubuntu 14.04 下同时安装OpenCV2.4.8和OpenCV3.2,版本共存切换

  由于实验室需要用到ROS,在安装ros-indigo的时候,系统默认安装了 OpenCV2.4.8版本,直接使用还挺好的。但是,科研需要与时俱进啊,新版的OpenCV3.0以上集成了好多新的功能。比如说,近两年很火的目标跟踪算法KCF、Goturn算法等,都在OpenCV3.1中集成了,直接使用比较方便。但是,ros系统的运行,需要2.4.8版本中的一些比如CV_BRIDGE,所以,2.4.8版本不能卸载。但是,我又想安装3.2版本,于是,就有了这篇博文。

  首先,使用命令查询你的OpenCV版本

pkg-config --modversion opencv 

      我的版本是2.4.8

安装opencv3.2

–首先下载新版本的opencv安装包,在这里我下载的是 opencv3.2,之后解压,安装opencv的依赖项

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

–进入解压后的opencv安装包,新建目录,目录名为build,并进入该目录

mkdir build && cd build 

输入命令

cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_TBB=ON  -D WITH_V4L=ON -D CMAKE_INSTALL_PREFIX=/usr/local/opencv320 ..  
make 
sudo make install  

在这里,我将opencv3.2的安装目录放在了/usr/local/opencv320文件夹,如下图所示

ubuntu 14.04 下同时安装OpenCV2.4.8和OpenCV3.2,版本共存切换_第1张图片


紧接着需要配置下文件,通过修改bashrc文件来设置PKG_ CONFIG_PATH(后来发现好像还需要改一下LD_LIBRARY_PATH)

sudo gedit ~/.bashrc 

在文件末尾加上

 export PKG_CONFIG_PATH=/usr/local/opencv320/lib/pkgconfig  
 export LD_LIBRARY_PATH=/usr/local/opencv320/lib  

保存之后,再使用命令

source ~/.bashrc  

这时候使用命令,opencv版本已经变成3.2了

pkg-config --modversion opencv 

不同版本切换

  原来,在使用2.4.8版本的时候,我的CMakeList文件中是这么写的:(一个完整的opencv测试包,详细见我的博客主页)

project(test)  
find_package(OpenCV REQUIRED)  
add_executable(test src/test.cpp)  
target_link_libraries(test ${OpenCV_LIBS})  
cmake_minimum_required(VERSION 2.8)

如果切换成3.2版本的,需要这样改

project(test)  
find_package(OpenCV REQUIRED)
set(OpenCV_DIR "/usr/local/opencv320/share/OpenCV")   
INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})
add_executable(test src/test.cpp)  
target_link_libraries(test ${OpenCV_LIBS})  
cmake_minimum_required(VERSION 2.8)


你可能感兴趣的:(视觉/图像处理opencv,Ubuntu/Ros)