ubuntu18.04一次性完整安装opencv3.4.8和opencv_contrib(附cmake时难以下载的文件)

在新安装的ubuntu18.04系统上(仅仅修改了系统软件源为清华源),从零开始一步一步编译安装opencv3.4.8完整版。我个人工作需要经常在ubuntu16和18上编译安装opencv3和4,正式开始前又看了很多别人帖子,把所有步骤和细节都搞清楚了才开始,最终成功编译安装完整版opencv。这里做一个记录,以帮大家一次性完美搞定。

参考:

【相关链接】【ubuntu16.04完美安装opencv3+contrib】

##

cmake过程所需文件:

ippicv_2019_lnx_intel64_general...

opencv_3rdparty-contrib_xfeatures2d...

opencv_3rdparty-contrib_xfeatures2d...

face_landmark_model.dat

【链接】

##

步骤一:github下载opencv3.4.8源代码包

将下载的opencv和opencv_contrib两个压缩包解压,将解压后的contrib文件夹放在opencv文件夹中,并新建空的build文件夹,如下所示:

ubuntu18.04一次性完整安装opencv3.4.8和opencv_contrib(附cmake时难以下载的文件)_第1张图片

步骤二:安装全部依赖

终端中依次执行以下安装命令:

#安装工具
sudo apt-get install cmake cmake-qt-gui git unzip
#安装依赖
sudo apt-get install build-essential
sudo apt-get install 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 libtiff5-dev libjasper-dev libdc1394-22-dev #处理图像所需的包
#以下是opencv官方linux安装教程中未制定的包,以防后期使用,这里都安装了(反正都不大)
sudo apt-get install libv4l-dev liblapacke-dev #视频相关的包
sudo apt-get install libxvidcore-dev libx264-dev #处理视频所需的包
sudo apt-get install libatlas-base-dev gfortran #优化opencv功能的包
sudo apt-get install ffmpeg #流媒体转换/播放工具包
sudo apt-get install libgtk-3-dev
sudo apt-get install libopenblas-dev #高性能多核矩阵运算库BasicLinearAlgebraSubprograms

其中,在安装libjasper-dev时报错:无法定位软件包 libjasper-dev

ubuntu18.04一次性完整安装opencv3.4.8和opencv_contrib(附cmake时难以下载的文件)_第2张图片

解决方法:依次执行以下命令,其中libjasper1是libjasper-dev的依赖包,必须放在前边。

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt-get update
sudo apt-get install libjasper1 libjasper-dev

步骤三:执行cmake(使用cmake-gui)

【开始】进入build文件夹,右键打开终端,执行“cmake-gui ..”命令,打开cmake-gui界面,确认源路径和构建路径无误,点击configure,确认选择“Unix Makefiles”+“Use default native compilers”,开始执行。

【报错1】执行过程报错,错误原因为下载ippicv失败,错误信息如下图所示:

ubuntu18.04一次性完整安装opencv3.4.8和opencv_contrib(附cmake时难以下载的文件)_第3张图片

解决方法:手动下载ippicv文件到本地(下载链接);修改ippicv对应的makefile文件(makefile文件在哪里),使其指向本地下载好的ippicv文件,如下图所示;保存makefile文件 ,重新configure,不再报错。

ubuntu18.04一次性完整安装opencv3.4.8和opencv_contrib(附cmake时难以下载的文件)_第4张图片

【继续配置cmake】在cmake界面中依次找到并设置以下两项,如图:

CMAKE_BUILD_TYPE: Release;

OPENCV_EXTRA_MODULES_PATH: opencv_contrib-3.4.8/modules;

(注意第二项MODULES_PATH必须指定到contrib下的modules)

ubuntu18.04一次性完整安装opencv3.4.8和opencv_contrib(附cmake时难以下载的文件)_第5张图片

【报错2】再次点击configure,报错,报错信息有若干条,大致意思是,contrib模块中的xfeatures2d模块的boostdesc和vgg两个子模块所需的依赖下载失败。

解决方法类似:手动下载依赖包并解压(下载链接),修改makefile文件(makefile文件在哪里),使其指向本地解压后的路径,保存makefile文件,重新configure,搞定!

ubuntu18.04一次性完整安装opencv3.4.8和opencv_contrib(附cmake时难以下载的文件)_第6张图片

 

ubuntu18.04一次性完整安装opencv3.4.8和opencv_contrib(附cmake时难以下载的文件)_第7张图片

 

ubuntu18.04一次性完整安装opencv3.4.8和opencv_contrib(附cmake时难以下载的文件)_第8张图片

【其它可能的问题:#.dat下载失败】

.dat能否下载成功与网络状况有关,若下载失败,解决办法同样是:手动下载(下载链接),修改makefile文件,使其指向本地下载好的文件,保存makefile,重新configure。

------------------tips------------------

提醒:在结束本步骤前,务必检查configure输出列表,确保没有红色报错,否则错误会体现在步骤四的make过程中。理论上,cmake过程应该下载好了所有依赖,make过程只需要读取本地文件即可。若make过程报错缺少某某或下载某某失败,原因多在于cmake过程并没有下载好这个某某。

 

步骤四:执行make

直接执行make -j4(4线程执行,速度更快)命令,

ubuntu18.04一次性完整安装opencv3.4.8和opencv_contrib(附cmake时难以下载的文件)_第9张图片

 

步骤五:安装库

sudo make install 命令

ubuntu18.04一次性完整安装opencv3.4.8和opencv_contrib(附cmake时难以下载的文件)_第10张图片

步骤六:配置系统环境变量

命令

ubuntu18.04一次性完整安装opencv3.4.8和opencv_contrib(附cmake时难以下载的文件)_第11张图片

 

代码验证:

https://www.zhihu.com/question/30049772?sort=created

你可能感兴趣的:(opencv,开发环境搭建,ubuntu18.04)