about
本博文參考了
AbsentM's Note 的 Ubuntu14.04 LTS 系統(tǒng)中Opencv 3.0開(kāi)發(fā)環(huán)境的搭建
阿-甘的 ubuntu16.04+gtx1080+cuda8.0+opencv3.1.0+cudnn-v5+caffe安裝教程
0. Pre-Installation
0.1 安裝基本編譯環(huán)境
$ sudo apt-get install build-essential
0.2 安裝相關(guān)依賴庫(kù)
$ sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
$ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
0.3 自行下載 OpenCV 3.1.0
1. Installation
$ cd opencv-3.1.0 # 進(jìn)入目錄
$ cmake . # cmake+空格+"."
$ sudo make
$ sudo make install
$ sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
$ sudo ldconfig
!Note: 提醒兩點(diǎn):
- 執(zhí)行
cmake .時(shí), 若出現(xiàn)ippicv_linux_20151201.tgz的hash碼不對(duì),則需手動(dòng)下載ippicv_linux_20141027.tgz,然后手動(dòng)替換掉
/home/alphacocoa/opencv-3.1.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e(!Note:/home/alphacocoa should be modified)目錄下的ippicv_linux_20141027.tgz。
把下載到的ippicv_linux_20141027.tgz文件先放到home目錄下,然后
cd 到home 目錄
執(zhí)行
$ sudo cp ippicv_linux_20151201.tgz /home/alphacocoa/opencv-3.1.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e
然后重新執(zhí)行
$ cmake .
- 執(zhí)行
sudo make時(shí),可能出現(xiàn)
make[2]: *** [modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/src/graphcuts.cpp.o] Error 1 make[1]: *** [modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/all] Error 2 make: *** [all] Error 2的錯(cuò)誤。
那是因?yàn)?cuda-8.0與OpenCV 3.1.0發(fā)生了沖突。解決方法:修改openCV 3.1.0源碼,使其兼容cuda-8.0
$ sudo vi opencv-3.1.0/modules/cudalegacy/src/graphcuts.cpp
將第四十五行位置的
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
改為
#if !defined(HAVE_CUDA)||defined(CUDA_DISABLER)||(CUDART_VERSION>=8000)
然后重新執(zhí)行
$ sudo make -j4 # -j4為開(kāi)四個(gè)線程,加快編譯速度
2. Post-Installation
2.1 編譯samples程序
$ cd ~/opencv-3.1.0/samples # 切換至例程目錄, ~為你安裝opencv-3.10的路徑
$ cmake . # cmake+空格+"."
$ sudo make -j $(nproc)
2.2 運(yùn)行測(cè)試程序
$ cd ~/opencv-3.1.0/samples/cpp
$ ./cpp-example-facedetect /home/alphacocoa/lena.jpg #選張lena.jpg 圖片
!Note:
/home/alphacocoa/lena.jpg是我的圖片路徑,故需換成你自己的。
- 如果出現(xiàn)這個(gè)問(wèn)題
$ sudo ./cpp-example-facedetect /home/alphacocoa/lena.jpg
GStreamer: Error opening bin: Unrecoverable syntax error while parsing pipeline /home/alphacocoa/lena.jpg
Could not read /home/alphacocoa/lena.jpg
Detecting face(s) in /home/alphacocoa/lena.jpg
仔細(xì)檢查下lena.jpg的路徑名對(duì)不對(duì),即前面的/home/alphacocoa/lena.jpg
運(yùn)行結(jié)果

lena.png
至此完成 OpenCV 3.1.0安裝