ubuntu中需要安装的开源库(SLAM14讲为主)

新装了ubuntu16.04,之前的开源库全部需要重装,这里总结一下需要装的库,以及装的步骤。

总的来说,需要装Eigen线性代数库、Sophus李代数库、OpenCV计算机视觉库、PCL点云库、Ceres非线性优化库、G2O图优化库(Octomap八叉树地图库、DBoW3词袋模型库)

1、Eigen线性代数库

Eigen库是一个C++线性代数开源库,它提供了有关线性代数、矩阵和矢量运算、数值分析及相关的算法。

其安装比较简单:

sudo apt-get install libeigen3-dev

验证安装成功:

sudo updatedb

locate eigen3

2、Sophus李代数库

Sophus库提供李代数的支持。

2.1下载

git clone http://github.com/strasdat/Sophus.git

2.2安装:

cd XXXX                 
mkdir build             
cd build               
cmake ..                
make                    

3、OPENCV视觉计算机库

sudo apt-get install build-essential libgtk2.0-dev libvtk5-dev libjpeg-dev libtiff5-dev libjasper-dev 
libopenexr-dev libtbb-dev
......(安装步骤参看2.2)
make             #编译
sudo make install    #安装

4、PCL点云库的安装

安装依赖库:

sudo apt-get update

sudo apt-get install git build-essential linux-libc-dev

sudo apt-get install cmake cmake-gui

sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev

sudo apt-get install mpi-default-dev openmpi-bin openmpi-common

sudo apt-get install libflann1.8 libflann-dev

sudo apt-get install libeigen3-dev

sudo apt-get install libboost-all-dev

sudo apt-get install libvtk5.10-qt4 libvtk5.10 libvtk5-dev

sudo apt-get install libqhull* libgtest-dev

sudo apt-get install freeglut3-dev pkg-config

sudo apt-get install libxmu-dev libxi-dev

sudo apt-get install mono-complete

sudo apt-get install qt-sdk openjdk-8-jdk openjdk-8-jre

下载源码

 git clone https://github.com/PointCloudLibrary/pcl.git

编译(时间漫长)

     cd pcl
     mkdir release
     cd release
     cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr \
           -DBUILD_GPU=ON -DBUILD_apps=ON -DBUILD_examples=ON \
           -DCMAKE_INSTALL_PREFIX=/usr ..
 
     make

安装

     sudo make install

测试安装结果:

测试代码main.cpp:

#include
#include
#include
#include
#include
#include
 
 
int main(int argc, char **argv) {
    std::cout << "Test PCL !!!" << std::endl;
    
    pcl::PointCloud::Ptr point_cloud_ptr (new pcl::PointCloud);
    uint8_t r(255), g(15), b(15);
    for (float z(-1.0); z <= 1.0; z += 0.05)
    {
      for (float angle(0.0); angle <= 360.0; angle += 5.0)
      {
    pcl::PointXYZRGB point;
    point.x = 0.5 * cosf (pcl::deg2rad(angle));
    point.y = sinf (pcl::deg2rad(angle));
    point.z = z;
    uint32_t rgb = (static_cast(r) << 16 |
        static_cast(g) << 8 | static_cast(b));
    point.rgb = *reinterpret_cast(&rgb);
    point_cloud_ptr->points.push_back (point);
      }
      if (z < 0.0)
      {
    r -= 12;
    g += 12;
      }
      else
      {
    g -= 12;
    b += 12;
      }
    }
    point_cloud_ptr->width = (int) point_cloud_ptr->points.size ();
    point_cloud_ptr->height = 1;
    
    pcl::visualization::CloudViewer viewer ("test");
    viewer.showCloud(point_cloud_ptr);
    while (!viewer.wasStopped()){ };
    return 0;
}

CMakeLists.txt文件:

cmake_minimum_required(VERSION 2.6)
project(pcl_test)
 
find_package(PCL 1.2 REQUIRED)
 
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
 
add_executable(pcl_test main.cpp)
 
target_link_libraries (pcl_test ${PCL_LIBRARIES})
 
install(TARGETS pcl_test RUNTIME DESTINATION bin)

把main.cpp和CMakeLists.txt放在同一个文件夹后,执行

mkdir build

cd build

cmake..

cd ..
make
./pcl_test

结果:

ubuntu中需要安装的开源库(SLAM14讲为主)_第1张图片

5、Ceres非线性优化库

见上一篇博客。

6、g2o图优化库

安装依赖项:

sudo apt-get install libqt4-dev qt4-qmake libqglviewer-dev libsuitesparse-dev libcxsparse3.1.2 libcholmod3.0.6

(最后一个是需要按tab键补全的,我选择的是比较高的一个版本)

下载源码:

 git clone https://github.com/RainerKuemmerle/g2o.git

cmake编译安装

cd g2o

mkdir build

cd build

cmake..
make

sudo make install

安装成功后可以在/usr/local/include/g2o中找到其头文件,在/usr/local/lib中找到其库文件。

7、Pangolin

https://github.com/stevenlovegrove/Pangolin

 

.............


 

你可能感兴趣的:(ubuntu)