ubuntu 14.04 下同時安裝OpenCV2.4.8和OpenCV3.2,版本共存切換
阿新 • • 發佈:2019-02-08
由於實驗室需要用到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)