Ubuntu20.04 Ubuntu18.04安装opencv + opencv_contrib

由于最近编译视觉slam十四讲的特征点部分,需要用到opencv的一些模块库,其中就需要opencv-contrib。opencv3以上的版本没有opencv-contrib,所以需要一起安装。由于尝试了好多方法,今天特意写篇帖子记录一下,给有需要的同志使用,也让自己以后好查询怎么安装。

按照我写的步骤去操作,Ubuntu20.04和Ubuntu18.04都可以安装,安装方法是一样的,我亲自在两台电脑上尝试过一台R7000(Ubuntu20.04)另一台Y9000P(Ubuntu18.04)

下面的图片是Ubuntu20.04的:

以ubuntu20.04为例:

opencv-3.4.15

opencv_contrib-3.4.15

一:下载opencv-3.4.15和opencv_contrib-3.4.15(一定要把文件下载齐全)(版本号一定要对应)

1.opencv版本下载(根据你自己需要):

Releases · opencv/opencv · GitHubOpen Source Computer Vision Library. Contribute to opencv/opencv development by creating an account on GitHub.https://github.com/opencv/opencv/releases

2.opencv_contrib版本下载(根据你自己需要):

Tags · opencv/opencv_contrib · GitHubRepository for OpenCV's extra modules. Contribute to opencv/opencv_contrib development by creating an account on GitHub.https://github.com/opencv/opencv_contrib/tags

特别注意:opencvopencv_contrib版本号要一样。

下载好之后,立一个新的opencv文件夹,放在video文件夹(你可以放在downloads文件夹下面,请随意)下,再把两个文件解压好放在opencv文件夹里面。

Ubuntu20.04 Ubuntu18.04安装opencv + opencv_contrib_第1张图片

二:安装相关依赖

 

sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

如果发生libjaster-dev无法安装,解决方法如下所示(我安装的时候没有出现):

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

三:cmake编译

1.安装cmake-gui:

sudo apt-get install cmake-gui

Ubuntu20.04 Ubuntu18.04安装opencv + opencv_contrib_第2张图片

2.打开gui界面:

cmake-gui

Ubuntu20.04 Ubuntu18.04安装opencv + opencv_contrib_第3张图片

3.设置相关选项:

(1)点击Browser Source找到你刚才放文件的位置(注意和我的一样对应起来)我的地址是:/home/liqiang/Videos/opencv/opencv-3.4.15

(2)点击Browser Build 找到你刚才放文件的位置(注意和我的一样对应起来)

我的地址是:/home/liqiang/Videos/opencv/opencv-3.4.15/build 你可以在opencv-3.4.15新建一个build文件夹或者直接在gui那里直接输入

然后点击Configue,如果出现警告,则无事,如果name那一栏里出现只有一两项,则说明你的文件没有下载齐全,建议你查看一下文件大小,网络等情况,一定要把文件下载齐全,否则安装不上。

四:设置cmake编译参数

1.将CMAKE_BUILD_TYPE设置为Release

Ubuntu20.04 Ubuntu18.04安装opencv + opencv_contrib_第4张图片

2.将CMAKE_INSTALL_PREFIX参数取值/usr/local

Ubuntu20.04 Ubuntu18.04安装opencv + opencv_contrib_第5张图片

3.将OPENCV_EXTRA_MODULES_PATH设置为opencv_contrib-3.4.15下面的modules

方法:你可以找到opencv_contrib-3.4.15下面的modules文件夹,按住Ctrl+L键,复制这个路径

Ubuntu20.04 Ubuntu18.04安装opencv + opencv_contrib_第6张图片

我的路径是:/home/liqiang/Videos/opencv/opencv_contrib-3.4.15/modules

可以查看是不是和我的路径是对应的

4.将ENABLE_PRECOMPILED_HEADERS参数取值设成OFF,点掉小勾

Ubuntu20.04 Ubuntu18.04安装opencv + opencv_contrib_第7张图片

5.将OPENCV_ENABLE_NONFREE设置为ON,有小对勾

Ubuntu20.04 Ubuntu18.04安装opencv + opencv_contrib_第8张图片

否则你在使用SURF特征点提取的时候会发生下面的报错。

terminate called after throwing an instance of 'cv::Exception'

  what():  OpenCV(3.4.15) /home/liqiang/Videos/opencv/opencv_contrib-3.4.15/modules/xfeatures2d/src/surf.cpp:1027: error: (-213:The function/feature is not implemented) This algorithm is patented and is excluded in this configuration; Set OPENCV_ENABLE_NONFREE CMake option and rebuild the library in function 'create'

上面这些编译参数都设置好后,就可以点击Generate按钮,生成makefile文件。

Ubuntu20.04 Ubuntu18.04安装opencv + opencv_contrib_第9张图片

Ubuntu20.04 Ubuntu18.04安装opencv + opencv_contrib_第10张图片

五:编译安装opencv-3.4.15和opencv_contrib-3.4.15

cd  Videos/opencv/opencv-3.4.15/build/

(这里根据你存放的位置来)

make -j4
sudo make install

希望能帮到在学特征点算法的同志们!!!!

你可能感兴趣的:(视觉SLAM十四讲,opencv,ubuntu)