1. 程式人生 > >Ubuntu14.04 opencv2.4.8和opencv3.2多版本共存

Ubuntu14.04 opencv2.4.8和opencv3.2多版本共存

首先,由於本人使用了ROS,因此在安裝ROS的時候安裝了ros-indigo-destop-full順便安裝了版本2.4.8的opencv,因為ROS裡面的一些檔案需要依賴於該版本的opencv,例如cv_bridge和image_pipeline。所以卸掉opencv2.4.8再裝opencv3.2(因為有些程式碼需要用到opencv3)貌似不明智。故我們在原有的opencv2.4.8的版本基礎上安裝opencv3.2,因此這裡涉及到了ubuntu多版本opencv共存問題。

使用命令檢視當前的opencv版本:

pkg-config --modversion opencv  

而我的系統自帶的是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 

這裡寫圖片描述

配置
當你使用的是cmake工具時,在Cmakelist中加入路徑即可使用opencv3.2,如下圖:
這裡寫圖片描述

當你想返回使用opencv2時,將find_package(OpenCV 3.2 REQUIRED )換成find_package(OpenCV REQUIRED )即可,並將該程式碼上面一行刪除即可。