SLAM算法与工程实践——SLAM基本库的安装与使用(2):OpenCV库

SLAM算法与工程实践系列文章

下面是SLAM算法与工程实践系列文章的总链接,本人发表这个系列的文章链接均收录于此

SLAM算法与工程实践系列文章链接


下面是专栏地址:

SLAM算法与工程实践系列专栏


文章目录

  • SLAM算法与工程实践系列文章
    • SLAM算法与工程实践系列文章链接
    • SLAM算法与工程实践系列专栏
  • 前言
  • SLAM算法与工程实践——SLAM基本库的安装与使用(2):OpenCV库
  • OpenCV
    • 安装OpenCV 3.4.5
    • 查看OpenCV版本
    • 使用教程


前言

这个系列的文章是分享SLAM相关技术算法的学习和工程实践


SLAM算法与工程实践——SLAM基本库的安装与使用(2):OpenCV库

OpenCV

安装OpenCV 3.4.5

安装OpenCV 3.4.5 (建议源码安装 安装时间较长 耐心等待 ) OpenCV3.4.5链接 提取码:slam

We use OpenCV to manipulate images and features. Dowload and install instructions can be found at: http://opencv.org. Required at leat 2.4.3. Tested with OpenCV 2.4.11 and OpenCV 3.2.

1)安装依赖项

# ubuntu 16.04
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev
sudo apt-get install libtiff4.dev libswscale-dev libjasper-dev

在这里插入图片描述

# ubuntu 20.04依赖项
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev 
sudo apt-get install libavformat-dev libjpeg.dev libtiff5.dev 
sudo apt-get install libswscale-dev libjasper-dev 
sudo apt-get install libcanberra-gtk-module libcanberra-gtk3-module #或者
sudo apt-get install libcanberra-gtk*

2)安装 OpenCV 3.4.5

进入下载的安装压缩包,解压到某文件夹,然后进去该文件夹建立build文件夹 编译文件夹

cd opencv-3.4.5
# 下面为编译的代码
mkdir build
cd build
cmake ..
# make -j表示满线程编译,尽量不要用满线程编译,容易卡死
make -j4 或者 j8	# 根据电脑的实际性能设置线程数# 或者
cmake -B build
cmake --build build
# 注意上面的两个命令都要执行,且是顺序执行# 编译完后安装
sudo make install

在这里插入图片描述

我这里满线程编译结果卡死在了89%处

在这里插入图片描述

在这里插入图片描述

3)查询OpenCV版本、库以及头文件目录的三个命令来确保上面的OpenCV安装步骤都正常:

pkg-config --modversion opencv
pkg-config --cflags opencv
pkg-config --libs   opencv

在这里插入图片描述

4)配置环境变量

sudo vim /etc/ld.so.conf.d/opencv.conf

在打开的空白文件中添加

/usr/local/lib

执行命令 sudo ldconfig ,使配置的环境变量生效

5)配置 .bashrc ,末尾添加下面两行

# 打开.bashrc
sudo vim /etc/bash.bashrc# 添加以下两行内容到.bashrc
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

在这里插入图片描述

5)source 与 update

source /etc/bash.bashrc
sudo updatedb

若遇到找不到命令updatedb

在这里插入图片描述

执行命令

sudo apt-get install mlocate
# 安装完成之后sudo updatedb

参考:ubuntu16.04 命令sudo updatedb报错: command not found解决方案

6)测试是否正常安装 (成功会出现带 “hello opcv” 字样的窗口)

cd opencv-3.4.5/samples/cpp/example_cmake
cmake .
make
./opencv_example

在这里插入图片描述

查看OpenCV版本

参考:

ubuntu下查看opencv安装路径以及版本号

ROS+ubuntu20.04+opencv4.5.5

查看linux下的opencv安装库:

pkg-config opencv --libs

在这里插入图片描述

查看linux下的opencv安装版本:

pkg-config opencv --modversion

在这里插入图片描述

或者

opencv_version

查看linux下的opencv安装路径:

sudo find / -iname "*opencv*"

在全盘上不区分大小写,搜索带有关键字opencv的所有文件及文件夹都会输出到终端,如果输出太长建议输出到txt文件里查看,如下:

sudo find / -iname "*opencv*" > /home/xxx/Desktop/opencv_find.txt

可知opencv安装在 /usr/local/lib 里面

在这里插入图片描述

.hpp文件在/usr/local/include/opencv2/文件夹下

在这里插入图片描述

查看opencv版本

pkg-config --modversion opencv4 

在这里插入图片描述

可以看到这里有两个OpenCV的版本,因为我自己安装的是3.4.5 ,安装ROS后又自带了OpenCV 4的版本

输入查找命令,可以看到opencv4.2编译的动态库在/usr/lib/x86_64-linux-gnu/文件夹下

在这里插入图片描述

.hpp则在/usr/include/opencv4/opencv2文件夹下

在这里插入图片描述

使用教程