在这一章我还是稍微说的仔细点,刚入门的时候,装软件时常踩坑,我以前也感受过看作者疯狂跳步骤的教程,太难受了,估计是我太菜了,现在我就跟我一样“菜”的人描述一下如何在Ubuntu下装OpenCV,希望大家安装的时候相关版本尽量和我一致,其他多的不说了,咱们现在就开始拔
先简单说一下我的Ubuntu的版本是Ubuntu 18.04.4 LTS,之前用的是Ubuntu 16.04,结果在我的电脑不太稳定就换了,用起来感觉差异不太大吧。如果刚装好系统的朋友千万不要忘记换源的操作,这个步骤稍微简单,可以自行百度,阿里源、中科大或者清华源,自己选择吧,我用的是阿里源。接下来我们看一下安装的清单有哪些:
- Opencv 3.3.1+Opencv_contrib-3.3.1 (资源在github上有,搜索Opencv,然后点releases,往后翻找到对应的版本,下载Source code,两个挑一个就行,Opencv_contrib的话同样搜索以及操作)
接下来装依赖库吧,只需要简单的打开终端,如何快捷的打开呢,同时按住Ctrl+alt+t就可以了,输入下面指令
sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install python3.5-dev
sudo apt-get install ffmpeg
其实有些可以不用,但是为了避免不必要的bug时间,还是规规矩矩装上吧,对了还有一个比较关键的,我是使用cmake-gui装的,所以还需要输入指令
sudo apt-get install cmake-qt-gui
到此基本操作基本完成,其实我有点犹豫要不要让大家先把Cuda、Eigen和Ceres这些先安装了,如果不仅弄opencv的同学建议可以先把上述三个安装了,也是经常能用到的工具。Cuda具体是干啥的自行百度把,先说说一下我如何安装Cuda,第一步安装英伟达驱动,我安装的版本是英伟达435,版本自己找合适的,注意和cuda的版本对应一下,尽量驱动的版本新点没啥事,如果驱动安装比较老,cuda比较新就尴尬了,使用了下面这个方式,给大家链接吧,具体也不演示了
注:在使用16.04按照类似的方法,曾有大佬说这样安装容易出问题,具体我暂时没踩到这个坑,我看18.04大家都这样安装的,应该没啥问题,如果踩到了回来补充。
找了一个看起来比较仔细的教程,大家看着弄吧
回到Opencv吧,把Opencv_contrib-3.3.1放到Opencv 3.3.1的目录下,然后在Opencv 3.3.1按住ctrl+h会出现隐藏文件.cache文件,敲黑板了,这步还是比较重要的,会涉及IPPICV等的下载,这玩意挺麻烦的,具体就不细说了,我会分享一个.catch文件,暂时github没弄好,私聊找我要也行,大家把文件复制过去应该就行了。
注:最后的效果如下图就好了,build_old不用在意,那是我以前编译过一遍生成的关系,没啥用,大家创建一个build的文件夹,然后在build的目录下打开指令,输入指令
cmake-gui ..
会跳出来上面这个窗口,然后点左下角的configure,然后出现一个窗口点finish就开始编译啦,编译结束以后,有几个必须要修改以下几个地方
- CMAKE_BUILD_TYPE 值处输入RELEASE
- OPENCV_EXTRA_MODULES_PATH处需要输入Opencv_contrib-3.3.1的modules的目录下,切忌到modules下
- OPENCV_ENABLE_NONFREE需要勾上,后期用sift啥的要用
不是必须关注的,可以了解了解
- CUDA_ARCH_BIN :为了缩短编译时间,可以通过CMake中改变CUDA_ARCH_BIN、CUDA_ARCH_PTX值进行设置,新手就跳过吧,也不差这点编译时间,免得改错了躺更大的坑
然后点击Generate生成配置文件
退出gui界面,然后在在build目录下打开终端,输入
sudo make -j4
#注:别图方便傻不laji的把这条注释输进去了,我想说-j4的意思是开四个线程,结束之后输入下面这个语句
sudo make install
说实话,按照上面步骤应该没啥问题了,为了避免误人子弟,我写的时候也格外留意,但是估计也难免出问题,发现问题的朋友留言就好,每天花点时间写个一篇吧,毕竟我也还有很多不会的,需要花时间学习进步,希望大佬们看到有某某刚入门的小小白搞这个一筹莫展的可以推荐推荐,告辞,明天开始进入主题!