从官网上下载opencv3.1.0
进入官网 : http://opencv.org/releases.html , 选择 3.1.0 版本的 source , 下载 opencv-3.1.0.zip
解压到你要安装的位置,命令行进入已解压的文件夹 opencv-3.1.0 目录下,执行:
mkdir build # 创建编译的文件目录
cd build
安装opencv前还需要安装一些依赖项:
sudo apt-get update
sudo apt-get install build-essential
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
然后开始编译
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
第一次编译会因为墙的原因ippicv文件下载不下来,这时候cmake会创建一个文件夹,在3rdparty/ippicv/downloads/linux-...的文件无法下载,我们自行下载下来后,拷贝到此目录下,
然后重新cmake就完成。
make -j8 #编译
在执行 make -j8 命令编译到 92% 时可能会出现以下错误:
这是由于opecv3.1与cuda8.0不兼容导致的。解决办法:
修改 /opencv-3.1.0/modules/cudalegacy/src/graphcuts.cpp 文件内容,如图:
在graphcuts.cpp中将
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
改为
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)
保存后退出,再次make -j8发现编译成功。
上面是将opencv编译成功,但是并没有安装到我们的系统中,有很多的设置都没有写入到系统中,因此还要进行install。
sudo make install #安装
安装完成后通过查看 opencv 版本验证是否安装成功:
pkg-config --modversion opencv
返回版本号3.1.0
配置OpenCV环境变量
参考https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/88756053#t4
https://blog.csdn.net/weixin_37203756/article/details/79373530
将opencv的lib库加入到路径,从而让系统可以找到(两种方法)
1)sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
2)sudo gedit /etc/ld.so.conf.d/opencv.conf
opencv的库一般安装在’/usr/local/lib’文件夹下,在文件内末尾加入
/usr/local/lib
保存退出
执行:
sudo ldconfig #使配置生效
- 方便卸载
https://blog.csdn.net/qq_22734083/article/details/82842549
重启系统,重启系统后cd到build文件夹下:
sudo apt-get install checkinstall
sudo checkinstall
然后按照提示安装就可以了。
https://blog.csdn.net/autocyz/article/details/52299889解释说:
使用checkinstall的目的是为了更好的管理我安装的opencv,因为opencv的安装很麻烦,卸载更麻烦,其安装的时候修改了一大堆的文件,当我想使用别的版本的opencv时,将当前版本的opencv卸载就是一件头疼的事情,因此需要使用checkinstall来管理我的安装。
执行了checkinstall后,会在build文件下生成一个以backup开头的.tgz的备份文件和一个以build开头的.deb安装文件,当你想卸载当前的opencv时,直接执行dpkg -r build即可。
参考博文:
https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/88756053#t4很详细!
https://blog.csdn.net/qq_22734083/article/details/82842549
https://blog.csdn.net/panmingqi1996/article/details/79426691
https://zhuanlan.zhihu.com/p/25709284
https://blog.csdn.net/yhaolpz/article/details/71375762/
https://blog.csdn.net/qq_22734083/article/details/82842549