step1. 首先下载opencv-3.1.0和opencv_contrib-3.1两个包,官方下载特别慢,这是我的百度云
https://pan.baidu.com/s/1eSIOjjc
链接: https://pan.baidu.com/s/1nuPfrpZ 密码: igqh
step2. 解压 opencv-3.1.0.zip 和 opencv_contrib-3.1.zip, 一定要把解压下来的opencv_contrib-3.1移动到opencv-3.1.0文件夹下去否则,在configure时会爆下列错误
/home/fourye/tmp/opencv-3.1.0/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c:1:29: fatal error: ffmpeg/avformat.h: 没有那个文件或目录
compilation terminated.
CMakeFiles/cmTC_9d930.dir/build.make:65: recipe for target 'CMakeFiles/cmTC_9d930.dir/CheckIncludeFile.c.o' failed
make[1]: *** [CMakeFiles/cmTC_9d930.dir/CheckIncludeFile.c.o] Error 1
make[1]: Leaving directory '/home/fourye/tmp/opencv-3.1.0/build/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_9d930/fast' failed
分析一下错误原因:#include < ffmpeg/avformat.h>报错,一看用的就是相对路径,所以要把opencv_contrib-3.1放到opencv-3.1.0文件夹下。
step3. cmake
执行下面指令:
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D OPENCV_EXTRA_MODULES_PATH=/home/fourye/tmp/opencv-3.2.0/opencv_contrib-3.2.0/modules \
-D PYTHON_EXECUTABLE=/usr/bin/python3 \
-D BUILD_EXAMPLES=ON ..
会爆出下面错误:
1# 问题
for file: [/home/fourye/tmp/opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/ippicv_linux_20151201.tgz]
expected hash: [808b791a6eac9ed78d32a7666804320e]
actual hash: [d41d8cd98f00b204e9800998ecf8427e]
status: [1;"Unsupported protocol"]
下载ippicv_linux_20151201.tgz 放入到对应目录中,重新执行命令。之后仍然会出现类似的问题。只需要把下载好的文件进行替换。