1、进入官网 : http://opencv.org/releases.html , 选择 3.1.0 版本的 source , 下载 opencv-3.1.0.zip ,如下图所示,可能会非常慢~~~
unzip opencv-3.1.0.zip
3、命令行进入已解压的文件夹 opencv-3.1.0 目录下,并执行下列命令。
cd ~/opencv
#安装依赖库和cmake ,如果提醒需要apt-get update,那就先sudo su进入root权限,再sudo apt-get update,然后在执行下面命令
sudo apt-get install cmake
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev
#安装前准备,创建编译文件夹:
mkdir build # 创建编译的文件目录
cd build
#配置:
sudo apt install cmake
sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
#编译--时间略长:
sudo make -j4 #-j4表示并行计算,根据自己电脑的配置进行设置,配置比较低的电脑可以将数字改小或不使用,直接输make。
注意:如果已经在新的文件夹中编译,但是还会出现之前的报错,把cmakecache.txt删了再编译就可
4、在执行 sudo make -j4 命令编译到 92% 时可能会出现以下错误:
modules/cudalegacy/src/graphcuts.cpp:120:54: error:
‘NppiGraphcutState’ has not been declared
typedef NppStatus (*init_func_t)(NppiSize oSize,
NppiGraphcutState** ppState, Npp8u* pDeviceMem);
这是因为opecv3.0与cuda8.0不兼容导致的。解决办法:修改 ~/opencv/modules/cudalegacy/src/graphcuts.cpp文件内容,如图所示。
其中, #if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)||(CUDART_VERSION>=8000) 是我们修改的。
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)||(CUDART_VERSION>=8000)
以上只是将opencv编译成功,还没将opencv安装,需要运行下面指令进行安装:
sudo make install #安装
5、安装完成后通过查看 opencv 版本验证是否安装成功:
pkg-config --modversion opencv
参考文章:
https://blog.csdn.net/cocoaqin/article/details/78163171
https://blog.csdn.net/lgh0824/article/details/78487234
https://blog.csdn.net/QLULIBIN/article/details/80730799