melodic18.04安装opencv和opencv_contrib-3.2.0

参考链接:从从从从在ubuntu18.04中安装opencv_contrib-3.2.0采坑教程_小虎哥哥爱学习的博客-CSDN博客_ubuntu安装opencv3.2

灵感来源:在使用find_object_2d中的find_object_3d_kinect2.launch时候,发现可供选择的算法没有SIFT算法,怀疑是opencv没有安装,于是输入:

opencv_version

查看当前opencv的版本,显示3.2.0,于是怀疑是安装melodic时默认带有opencv,但是不完整,看到参考博主的链接才知道的所以然。

1.下载opencv-3.2.0和opencv_contrib-3.2.0源码

opencv-3.2.0可以在github下载:GitHub - opencv/opencv at 3.2.0

但是opencv_contrib-3.2.0在github上的源码已经没有了,直接去百度找其他人分享的压缩包。

将这两个压缩包解压放在一个文件夹中(方便点):

其中opencv-3.2.0和opencv_contrib-3.2.0就是我们要使用的两个包,opencv_contrib-4.x是github上目前能下载的版本(下了运行报错,目前没发现有什么用)

 2.安装相关依赖

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

3.用cmake-gui工具

使用这个工具主要是配置cmake参数更加方便,安装并打开cmake-gui:

sudo apt-get install cmake-gui
cmake-gui

更改界面中的两个路径(第二个路径在你opencv-3.2.0包中没有build这个文件,可以自己创建一个,也可以直接按照格式输入好,等自动生成):

 路径改完点击Configure按钮,进行配置。配置过程一般都会报错,就是缺少对应的文件,报错的具体信息没有截图了,基本上下载对应缺少的包,按照报错信息放入对应的地址即可,很多包的寻找就看搜集资料能力了,我是在/opencv/opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/中缺少ippicv_linux_20151201.tgz。

去对应的下载,注意缺少的是什么类型文件就放对应类型,比如压缩包类型就直接放,不需要解压。

下载完了再点击Configure完成配置

Configure完成后,设置cmake编译参数:

分别对应更改其Value

这一个对应自己的opencv_contrib-3.2.0中的modules文件夹(一定要指定到modules这个文件夹)

这些都配置完成后,点击Generate按钮,生成makefile文件,这个时候仍然可能报错,我就报错了,报错的原因就会是来源于opencv_contrib-3.2.0 文件,这个文件中也可能会出现不完整的情况,我就是在/opencv/opencv_contrib-3.2.0/opencv_contrib/modules/dnn/.download/bd5e3eed635a8d32e2b99658633815ef/v3.1.0/路径下缺少protobuf-cpp-3.1.0.tar.gz,跟之前一样,去网上下载对应缺少的包,放置在对应的位置即可,再点击Generate按钮。

4.编译和安装opencv

当完成以上的步骤没有报错之后,切换到opencv-3.2.0/build目录,使用make和make install编译和安装。

cd ~/opencv/opencv-3.2.0/build/
make
sudo make install

这个过程如果成功,就成功了,其中还可能会有报错信息:

第一个问题是需要添加sudo:

 第二个问题:

#error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.

 代表高亮这个文件需要编译器和库支持的ISO C++ 2011标准。必须使用-STD= C++ 11或-STD= GNU+11编译器选项来启用此支持。这个时候进入到modules这个文件夹下,打开CMakelists.txt文件,在其中加入:

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

保存重新sudo make。

make过程很久,到达100即可:

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值