ubuntu16.04为ros安装OpenSfM

437 阅读1分钟

一、安装依赖

1、apt install:

sudo apt-get install build-essential cmake libatlas-base-dev libatlas-base-dev libgoogle-glog-dev libopencv-dev libsuitesparse-dev python3-pip python3-dev  python3-numpy python3-opencv python3-pyproj python3-scipy python3-yaml libeigen3-dev
# CMake
sudo apt-get install cmake
# google-glog + gflags
sudo apt-get install libgoogle-glog-dev
# BLAS & LAPACK
sudo apt-get install libatlas-base-dev
# Eigen3
sudo apt-get install libeigen3-dev

# 其他
sudo apt-get install libsuitesparse-dev
sudo apt-get install libsuitesparse-dev

2、pip3 install:

pip3 install \
    exifread==2.1.2 gpxpy==1.1.2 networkx==4.4.2 \
    numpy=1.21.4 pyproj==3.2.1 pytest==6.2.5 \
    python-dateutil==2.6.0 PyYAML==3.12 \
    scipy=1.4.1 xmltodict==0.10.2 \
    loky==3.0.0 repoze.lru==0.7

二、安装OpenSfM

1、下载OpenSfM

git clone https://github.com/mapillary/OpenSfM.git

2、移动OpenSfM到catkin_ws

mv OpenSfM ~/catkin_ws

3、为OpenSfM添加源码依赖

  • 进入OpenSfM:
cd ~/catkin_ws/OpenSfM
  • 创建依赖库文件夹
mkdir source && cd source

(1) 添加clang源码依赖到OpenSfM

cd ~/catkin_Ws/OpenSfM/source && git clone https://github.com/wjakob/clang-cindex-python3.git
  • 更改文件名
mv clang-cindex-python3 clang
  • 手动为OpenSfM添加tools
mkdir ~/catkin_ws/OpenSfM/tools/ -p
cp ~/catkin_ws/clang ~/catkin_ws/OpenSfM/tools/

(2) 添加opengv源码依赖到OpenSfM

cd ~/catkin_Ws/OpenSfM/source && git clone https://github.com/laurentkneip/opengv.git
  • git依赖
cd ~/catkin_Ws/OpenSfM/source && git clone https://github.com/pybind/pybind11.git
  • 移动pybind11依赖到opengv
mv pybind11 opengv/python
  • 编译安装opengv
1| mkdir /home/<你的用户名>/anaconda3/envs/<你的conda环境名>/lib/python<你的环境python版本>/dist-packages/

2| mkdir build && cd build

3| cmake .. -DBUILD_TESTS=OFF \
         -DBUILD_PYTHON=ON \
         -DPYBIND11_PYTHON_VERSION=3.7\
         -DPYTHON_INSTALL_DIR=/home/<你的用户名>/anaconda3/envs/<你的conda环境名>/lib/python<你的环境python版本>/dist-packages/     

(3) ceres安装

  • 下载ceres
cd ~/catkin_Ws/OpenSfM/sourc curl -L http://ceres-solver.org/ceres-solver-1.14.0.tar.gz | tar xz
  • 编译ceres
cd ./ceres-solver-1.14.0 && mkdir build-code && cd build-code
cmake .. -DCMAKE_C_FLAGS=-fPIC -DCMAKE_CXX_FLAGS=-fPIC -DBUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF
sudo make -j4 install

4、编译OpenSfM

cd ~/catkin_ws/OpenSfM && python setup.py build

5、#安装特定版本的opencv-contrib,此时可用SIFT特征提取算法

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-contrib-python==3.4.2.17

参考:blog.whuzfb.cn/blog/2020/0…