about
本博文参考了
AbsentM's Note 的 Ubuntu14.04 LTS 系统中Opencv 3.0开发环境的搭建
阿-甘的 ubuntu16.04+gtx1080+cuda8.0+opencv3.1.0+cudnn-v5+caffe安装教程
0. Pre-Installation
0.1 安装基本编译环境
$ sudo apt-get install build-essential
0.2 安装相关依赖库
$ 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 # 进入目录
$ 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: 提醒两点:
- 执行
cmake .
时, 若出现ippicv_linux_20151201.tgz的hash码不对
,则需手动下载ippicv_linux_20141027.tgz,然后手动替换掉
/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 目录
执行
$ sudo cp ippicv_linux_20151201.tgz /home/alphacocoa/opencv-3.1.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e
然后重新执行
$ cmake .
- 执行
sudo make
时,可能出现
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
的错误。
那是因为cuda-8.0
与OpenCV 3.1.0
发生了冲突。解决方法:修改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)
然后重新执行
$ sudo make -j4 # -j4为开四个线程,加快编译速度
2. Post-Installation
2.1 编译samples程序
$ cd ~/opencv-3.1.0/samples # 切换至例程目录, ~为你安装opencv-3.10的路径
$ cmake . # cmake+空格+"."
$ sudo make -j $(nproc)
2.2 运行测试程序
$ cd ~/opencv-3.1.0/samples/cpp
$ ./cpp-example-facedetect /home/alphacocoa/lena.jpg #选张lena.jpg 图片
!Note:
/home/alphacocoa/lena.jpg
是我的图片路径,故需换成你自己的。
- 如果出现这个问题
$ 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
仔细检查下lena.jpg的路径名对不对,即前面的/home/alphacocoa/lena.jpg
运行结果
至此完成 OpenCV 3.1.0安装