一、安装依赖
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
参考:https://blog.whuzfb.cn/blog/2020/07/18/opensfm_install/