首先,由于本人使用了ROS,因此在安裝ROS的時候安裝了ros-indigo-destop-full順便安裝了版本2.4.8的opencv,因為ROS里面的一些文件需要依賴于該版本的opencv,例如cv_bridge和image_pipeline。所以卸掉opencv2.4.8再裝opencv3.3(因為有些代碼需要用到opencv3)貌似不明智。故我們在原有的opencv2.4.8的版本基礎上安裝opencv3.3,因此這里涉及到了ubuntu多版本opencv共存問題。
之前安裝了CUDA,在編譯的時候出現了和CUDA相關的錯誤,需要將幾個選項關閉。
使用命令查看當前的opencv版本:
pkg-config --modversion opencv
而我的系統自帶的是opencv-2.4.8
安裝opencv3.3
–首先下載新版本的opencv安裝包(建議下載新版本 嘗試了3.1和3.2的版本,還要安裝一些其他的依賴),在這里我下載的是opencv3.3.1,之后解壓,安裝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
輸入命令
sudo mkdir -r /usr/local/opencv331cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_CUBLAS=0 -D WITH_CUDA=0 -D WITH_CUFFT=0 -D CMAKE_INSTALL_PREFIX=/usr/local/opencv331 .. make sudo make install
在這里,opencv3.3的安裝目錄放在了/usr/local/opencv331文件夾,同時注釋了和CUDA相關的部分(當前安裝的CUDA7.5,在編譯的時候編譯不過去 )
緊接著需要配置下文件,通過修改bashrc文件來設置PKG_ CONFIG_PATH(后來發現好像還需要改一下LD_LIBRARY_PATH)<引用>
sudo gedit ~/.bashrc
在文件末尾加上
export PKG_CONFIG_PATH=/usr/local/opencv331/lib/pkgconfig export LD_LIBRARY_PATH=/usr/local/opencv331/lib
保存之后,再使用命令
source ~/.bashrc
這時候使用命令,opencv版本已經變成3.3了
pkg-config --modversion opencv
配置
當你使用的是cmake工具時,在CMakeLists.txt中加入路徑即可使用opencv3.3,如下圖:
當你想返回使用opencv2時,將find_package(OpenCV 3.3 REQUIRED )換成find_package(OpenCV REQUIRED )即可,并將該代碼上面一行和下面倆行刪除即可。
以上這篇Ubuntu14.04 opencv2.4.8和opencv3.3.1多版本共存的實現方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答
圖片精選