裝有cuda的ubuntu14.04安裝opencv3.0.0及問題

1、GTK+2.x要先於OpenCV安裝

 

sudoapt-get install build-essential cmakelibgtk2.0-devpkg-configlibavcodec-devlibavformat-devlibswscale-dev (如果無法定位軟件包,換源)

2、在主文件夾下解壓unzip -x opencv-3.0.0.zip 

     cd opencv-3.0.0
     mkdir build
     cd build
     cmake ..
     make
     sudo make install

3、cmake之前的準備工作

     用CMake,遇到個奇怪的問題:CMake Error at 3rdparty/ippicv/downloader.cmake:97 (message):
     ICV: Failed to unpack ICV package from D:/Program

    因爲 linux安裝opencv需要使用到的ippicv_linux_20141027.tgz安裝包.因爲牆的原因一直下載不下來.

    手動下載後拷貝到opencv/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b/ 目錄下即可,如果沒有該    目錄,則創建之。
    下載網址在這裏:http://osdn.jp/projects/sfnet_opencvlibrary/downloads/3rdparty/ippicv/ippicv_windows_20141027.zip/

4、make之前的準備工作

      因爲安裝了cuda,所以需要設定好相關動態庫,否則容易報錯 
      添加pkg路徑 

sudo vim /etc/profile 
然後在最後添加這樣一句話: 
export PKG_CONFIG_PATH=/usr/local/cuda-8.0/pkgconfig:/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH 
接着source /etc/profile
系統的動態庫配置文件/etc/ld.so.conf沒有將/usr/local/lib添加進去 
sudo vim /etc/ld.so.conf 
然後在最後添加 
include /usr/local/lib 

    使用的是cuda8.0,需要修改源碼,在path/opencv3.0.0/modules/cudalegacy/src/graphcuts.cpp中將 

#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) 
改爲 
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)

     做完這些,編譯

5、Ubuntu14.04安裝好opencv3.0.0之後,進行測試:

cd opencv-3.0.0/samples/
sudo cmake .
sudo make –j $(nproc)
cd cpp
./cpp-example-facedetect girls.jpg //提前在文件夾放一張人笑臉的圖片

如果出現問題CMakeError at CMakeLists.txt:3 (find_package):By not providing "FindOpenCV.cmake"in      CMAKE_MODULE_PATH this project has asked CMaketo find a package configuration file provided by "OpenCV",but CMake didnot find one. Could not find a package configuration file provided by "OpenCV"with any of the following names: OpenCVConfig.cmakeopencv-config.cmakeAdd the installation prefix of "OpenCV"to CMAKE_PREFIX_PATH or set "OpenCV_DIR"to a directory containing one of the above files. If "OpenCV"provides a separate development package or SDK, be sure it has been installed.

則修改sample裏面的CMakeLists.txt爲:

set(OpenCV_DIR /home/用戶名/opencv-3.0.0/build)

find_package(OpenCV REQUIRED )

   檢測出人臉  成功!!!

 

 

附::::::卸載原來的opencv方法如下

在安裝的opencv3.0.0的build裏make uninstall 

卸載不管用的話,直接到opencv解壓目錄把解壓出的opencv包刪掉

sudo rm -r release sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv//這一段可保留,make unstall後就清除了

 

發佈了20 篇原創文章 · 獲贊 6 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章