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後就清除了