基本是参考这篇博客的:https://blog.csdn.net/yhaolpz/article/details/71375762,感谢原博主,这里只是记录一下。
1、去官网http://opencv.org/releases.html,选择3.1.0版本的source下载。
2、解压opencv-3.1.0.zip到要安装的目录,然后进入目录,执行以下命令:
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
执行到第三句可能会卡住,要下载一个文件,可以先下载好ippicv_linux_20151201.tgz这个文件(可以百度一下);依次进入opencv-3.1.0/3rdparty/ippicv/downloads/linux-(一堆数字),先删除下载失败的文件,然后把下载好的ippicv文件放入该文件夹下。之后在进入build目录下,重新执行一次cmake那句命令。这次应该没问题了。接着执行:
make -j8
make命令执行到后期可能会报错
modules/cudalegacy/src/graphcuts.cpp:120:54: error:
‘NppiGraphcutState’ has not been declared
typedef NppStatus (*init_func_t)(NppiSize oSize,
NppiGraphcutState** ppState, Npp8u* pDeviceMem);
这是因为opencv3.1和CUDA8.0不兼容导致的。解决方法:
修改 /opencv-3.1.0/modules/cudalegacy/src/graphcuts.cpp 文件内容,如图:
修改后再执行一次make -j8
3、编译成功之后安装
sudo make install
可以通过查看opencv版本验证是否安装成功
pkg-config --modversion opencv