由于最近编译视觉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
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
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
特别注意:opencv和opencv_contrib版本号要一样。
下载好之后,立一个新的opencv文件夹,放在video文件夹(你可以放在downloads文件夹下面,请随意)下,再把两个文件解压好放在opencv文件夹里面。
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
sudo apt-get install cmake-gui
cmake-gui
(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那一栏里出现只有一两项,则说明你的文件没有下载齐全,建议你查看一下文件大小,网络等情况,一定要把文件下载齐全,否则安装不上。
我的路径是:/home/liqiang/Videos/opencv/opencv_contrib-3.4.15/modules
可以查看是不是和我的路径是对应的
否则你在使用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文件。
cd Videos/opencv/opencv-3.4.15/build/
(这里根据你存放的位置来)
make -j4
sudo make install
希望能帮到在学特征点算法的同志们!!!!