1. 程式人生 > >ubuntu 安裝使用多版本opencv

ubuntu 安裝使用多版本opencv

ubuntu 16.04 安裝了ROS kinetic,而ROS自帶的是opencv3.1。之前很多程式都是opencv2,所以決定再裝一個opencv2。

安裝opencv2到指定路徑

1.下載opencv2.4.13,連結為opencv sourceforge上的網頁,自己選擇合適的版本。
2.解壓到指定資料夾, 比如/home/hyj/opencv2.4.13
3.開啟終端,切換到該檔案集下,並建立資料夾如下:

cd /home/hyj/opencv2.4.13
mkdir release
cd release
mkdir installed

建立的installed檔案集就是我們安裝opencv2.4.13的路徑。
4.使用cmake的時候指定opencv的安裝路徑,因為之前已經預設安裝了opencv3,所以這裡必須指定安裝路徑,比如我打算安裝在剛剛建立的installed檔案下。接著上面mkdir installed命令後,輸入如下cmake 命令:

cmake -DCMAKE_INSTALL_PREFIX=/home/hyj/opencv-2.4.13/release/installed -DCMAKE_BUILD_TYPE="Rlease" ..

5.編譯安裝

make
make install

同理安裝opencv3.1

如果你電腦已經有了opencv2.4,想裝一個opencv3,也要顯式的指定安裝路徑,如下。

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/home/hyj/slam_Thirdparty/opencv-3.1.0/release/installed -D
OPENCV_EXTRA_MODULES_PATH=/home/hyj/slam_Thirdparty/opencv_contrib-3.1.0/modules ..

使用多版本opencv

在寫CmakeList.txt,如果只有一個版本的opencv,我們一般直接使用

FIND_PACKAGE(OpenCV REQUIRED)

現在如果是使用預設安裝的opencv3.1,則使用使用上面的指令就足夠了。如果使用安裝我們自己指定路徑的opencv2.4.13,則在上面指令前面加上如下指令:

set(CMAKE_PREFIX_PATH "/home/hyj/opencv-2.4.13/release/installed/"
)