Ubuntu14.04 opencv2.4.8和opencv3.2多版本共存
阿新 • • 發佈:2019-01-07
首先,由於本人使用了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 )
即可,並將該程式碼上面一行刪除即可。