1. 程式人生 > >ubuntu 14.04 下同時安裝OpenCV2.4.8和OpenCV3.2,版本共存切換

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資料夾,如下圖所示


緊接著需要配置下檔案,通過修改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)