【Ubuntu18.04搭建 SLAM环境】

  • CMake、g++、git的安装

这是最基本的c++编译环境,可能已经安装了

  sudo apt-get install cmake
  sudo apt-get install g++
  sudo apt-get install git
  • Opencv3.4.16配置+opencv_contrib

Opencv有很多版本,建议采用源码安装

对于Opencv3来说,最好安装3.4.5/3.4.16

安装包下载


注意 opencv与opencv-contrib的版本应该一致
opencv 下载 opencv官网Releases - OpenCV
opencv_contrib 下载 githubReleases · opencv/opencv_contrib · GitHub
这里需要下载opencv的source,opencv_contrib可以下载zip或者tar.gz,但本文下载的是zip

安装依赖包
 

sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev  libtiff5-dev libopenexr-dev libtbb-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libgtk-3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev pkg-config

安装opencv和opencv_contrib

先解压下载的opencv和opencv_contrib包,建议直接放至home地址下

然后将解压后的contrib文件移动至opencv-3.4.16文件下

sudo cp -r opencv_contrib-3.4.16 opencv-3.4.16

cmake分析

然后创建build文件夹,进行cmake分析,在cmake阶段会检查依赖项是否安装,并调整自己的功能。

cd opencv-3.4.16/
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=~/opencv-3.4.16/opencv_contrib-3.4.16/modules/ -D OPENCV_ENABLE_NONFREE=True ..

 注意**-DOPENCV_ENABLE_NONFREE=True**别把-D与OPENCV_ENABLE_NONFREE=True分开,这句就是使用nonfree模块,包括sift等有专利权的模块。
注意后面的两点不可省略,代表其他参数默认。
注意 OPENCV_EXTRA_MODULES_PATH 代表你放置opencv_contrib的modules文件夹的真实地址,如果直接将opencv放在home下那地址与上述参数相同,只需要注意版本号即可。

make编译

sudo make -j4

##sudo make install

配置环境


sudo vim /etc/ld.so.conf
在里面加上一行 /usr/loacal/lib,其中 /user/loacal 是opencv安装路径也就是makefile中指定的安装路径,结果如下:

include /etc/ld.so.conf.d/*.conf
/usr/local/lib

完成后ESC再输入:wq保存退出。运行

sudo ldconfig


然后修改bash.bashrc文件

sudo vim /etc/bash.bashrc


在文件末尾加入:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

然后进行souce,更新环境变量

source /etc/bash.bashrc

检验安装版本

$ pkg-config --modversion opencv
3.4.16

至此OPenCV已经安装完成
—————————

 相关报错问题参考:

wsl(Ubuntu 18.04 LTS)安装openCV3.4.16和openCV_contirb3.4.16_Toyakoyo2046的博客-CSDN博客ubuntu 18.04 安装opencv3.4.5+opencv_contrib_可怜的考研人的博客-CSDN博客

  •  Pangolin0.6的配置

Pangolin选择0.5或0.6都可以

Pangolin按github上按照

GitHub - stevenlovegrove/Pangolin: Pangolin is a lightweight portable rapid development library for managing OpenGL display / interaction and abstracting video input.

下载0.6版本,解压

mkdir build
cd build
cmake ..
make -j4

 【问题】:CMake Error at CMakeModules/FindGLEW.cmake:51 (MESSAGE):   Could not find GLEW

解决:sudo apt install libglew-dev

  • Eigen3的配置

安装
sudo apt-get install libeigen3-dev
检查安装
pkg-config --cflags eigen3
卸载
sudo apt-get remove libeigen3-dev

  • Sophus的配置

在ubuntu18.04/18.10下会遇到如下问题:

“unit_complex_.real() = 1.;   unit_complex_.imag() = 0. ;"的错误

解决方法:在编译之前需要打开 sophus/so2.cpp 文件中,


unit_complex_.real() = 1. ;
unit_complex_.imag() = 0. ;
改为
unit_complex_.real(1.) ;
unit_complex_.imag(0.) ;

Sophus只需要编译不需要安装。

git clone https://github.com/strasdat/Sophus.git
cd Sophus
mkdir build
cd build
cmake ..
make -j4
  • PCL

Ubuntu16.04之后安装pcl可以直接apt-get

sudo apt-get install libpcl-dev pcl-tools

你可能感兴趣的:(git,ubuntu,linux)