视觉slam14讲ch5 opencv安装 ubuntu20.04

视觉slam14讲ch5 opencv安装 ubuntu20.04

最近在学习视觉slam14讲第五章时,由于opencv需要较多依赖项,安装过程经历了一些曲折,在此进行记录。

1.下载opencv工程

opencv下载
这里采用了和书上一致的版本,opencv3.1.0,
找到这个界面后,点击“Sources”后即可下载。
视觉slam14讲ch5 opencv安装 ubuntu20.04_第1张图片

2.安装依赖项

我用的是ubuntu20.04+noetic版本,在安装依赖项的过程中,libvtk5-dev libtiff4-dev libjasper-dev这几个包都找不到
视觉slam14讲ch5 opencv安装 ubuntu20.04_第2张图片
对于前两个包,我安装的是libvtk6-dev和libtiff5-dev,不知道会有什么区别,然后libjasper-dev这个包是参考了方法:https://blog.csdn.net/weixin_41053564/article/details/81254410
成功安装。

3.编译安装opencv

解压第一步下载的opencv文件
cd 到opencv目录下,然后创建build文件夹,

mkdir build
cd build
cmake ..

在cmake的过程中,由于网络的原因,卡在了IPPICV文件的下载这一步,于是手动进行下载。

3.1下载ippicv相关文件

在终端中查看对应下载的IPPICV文件名,我的是 ippicv_linux_20151201.tgz,然后直接搜索相应的文件进行下载,保存路径随意。

3.2修改opencv相关配置文件

找到 opencv3.1.0/3rdparty/ippicv 下的downloader.cmake文件
将67行的:

“https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/”

改为 3.1 中下载的ippicv文件的路径:

“file:///home/lc/下载/” #根据自己的文件路径填写即可,不要忘记最前面的file

然后切换到build目录下:

cmake ..
make -j4 //根据电脑性能合理选择 j 后面的数字)`

接着:`
这里又报了一个错:

usr/include/c++/7/cstdlib:75:25: fatal error: stdlib.h: 没有那个文件或目录

参考通过屏蔽预编译头解决,具体做法是在cmake环节加入-DENA添加链接描述BLE_PRECOMPILED_HEADERS=OFF
命令如下:

cmake -DENABLE_PRECOMPILED_HEADERS=OFF

然后又报错:'CODEC_FLAG_GLOBAL_HEADER' was not declared in this scope
参考教程,在/opencv-3.1.0/modules/videoio/src/cap_ffmpeg_impl.hpp 文件的最顶端添加:

#define AV_CODEC_FLAG_GLOBAL_HEADER (1 << 22)
#define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER
#define AVFMT_RAWPICTURE 0x0020

保存退出,重新进行编译,至此,编译成功。
在这里插入图片描述

你可能感兴趣的:(opencv,计算机视觉,人工智能)