安装系统必须为Ubuntu-16.04.7(亲测Ubuntu 18.04.6和Ubuntu22.04编译失败)
地址:http://mirrors.zju.edu.cn/ubuntu-releases/16.04/
![](https://i-blog.csdnimg.cn/blog_migrate/7ebdf0a7767342047ba10d7ac0ba5b56.png)
硬盘设置100G
![](https://i-blog.csdnimg.cn/blog_migrate/516cc0c0a3c0656436a45d5ca110e2d1.png)
换源
ubuntu换镜像源(ubuntu换源)_Fighting_1997的博客-CSDN博客
sudo apt update
下载dso: git clone https://github.com/NikolausDemmel/dso
安装suitesparse and eigen3: sudo apt-get install libsuitesparse-dev libeigen3-dev
安装opencv: sudo apt-get install libopencv-dev
退回主页,安装pangolin
cd
git clone https://github.com/stevenlovegrove/Pangolin.git -b v0.6
cd Pangolin
mkdir build
cd build
cmake -DCPP11_NO_BOOST=1 ..
make-j
make-j闪退的时候换make
sudo apt install libglew-dev
安装ziplib. 建议安装,DSO用这个库来解压读取数据集压缩包中的图片,这样就不要每次都把下再的图片数据集进行解压了。
sudo apt-get install zlib1g-dev
cd thirdparty #找到DSO所在文件路径,切换到thirdparty文件夹下
tar -zxvf libzip-1.1.1.tar.gz
cd libzip-1.1.1/
./configure
make
sudo make install
sudo cp lib/zipconf.h /usr/local/include/zipconf.h
编译DSO.
cd /home/hyj/DSO/dso
mkdir build
cd build
cmake ..
make -j
碰到错误
could not find boost
sudo apt install libboost-all-dev
编译成功bin目录下会有dso_dataset
a@ubuntu:~/dso/build/bin$ ls
dso_dataset
a@ubuntu:~/dso/build$ cmake ..
-- Boost version: 1.58.0
-- Found the following Boost libraries:
-- system
-- thread
-- chrono
-- date_time
-- atomic
--- found PANGOLIN, compiling dso_pangolin library.
--- found OpenCV, compiling dso_opencv library.
--- found ziplib (1.1.1), compiling with zip capability.
--- compiling dso_dataset.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/a/dso/build
a@ubuntu:~/dso/build$ make
[ 4%] Building CXX object CMakeFiles/dso.dir/src/FullSystem/FullSystem.cpp.o
[ 8%] Building CXX object CMakeFiles/dso.dir/src/FullSystem/FullSystemOptimize.cpp.o
[ 12%] Building CXX object CMakeFiles/dso.dir/src/FullSystem/FullSystemOptPoint.cpp.o
[ 16%] Building CXX object CMakeFiles/dso.dir/src/FullSystem/FullSystemDebugStuff.cpp.o
[ 20%] Building CXX object CMakeFiles/dso.dir/src/FullSystem/FullSystemMarginalize.cpp.o
[ 24%] Building CXX object CMakeFiles/dso.dir/src/FullSystem/Residuals.cpp.o
[ 28%] Building CXX object CMakeFiles/dso.dir/src/FullSystem/CoarseTracker.cpp.o
[ 32%] Building CXX object CMakeFiles/dso.dir/src/FullSystem/CoarseInitializer.cpp.o
[ 36%] Building CXX object CMakeFiles/dso.dir/src/FullSystem/ImmaturePoint.cpp.o
[ 40%] Building CXX object CMakeFiles/dso.dir/src/FullSystem/HessianBlocks.cpp.o
[ 44%] Building CXX object CMakeFiles/dso.dir/src/FullSystem/PixelSelector2.cpp.o
[ 48%] Building CXX object CMakeFiles/dso.dir/src/OptimizationBackend/EnergyFunctional.cpp.o
[ 52%] Building CXX object CMakeFiles/dso.dir/src/OptimizationBackend/AccumulatedTopHessian.cpp.o
[ 56%] Building CXX object CMakeFiles/dso.dir/src/OptimizationBackend/AccumulatedSCHessian.cpp.o
[ 60%] Building CXX object CMakeFiles/dso.dir/src/OptimizationBackend/EnergyFunctionalStructs.cpp.o
[ 64%] Building CXX object CMakeFiles/dso.dir/src/util/settings.cpp.o
[ 68%] Building CXX object CMakeFiles/dso.dir/src/util/Undistort.cpp.o
[ 72%] Building CXX object CMakeFiles/dso.dir/src/util/globalCalib.cpp.o
[ 76%] Building CXX object CMakeFiles/dso.dir/src/IOWrapper/OpenCV/ImageDisplay_OpenCV.cpp.o
[ 80%] Building CXX object CMakeFiles/dso.dir/src/IOWrapper/OpenCV/ImageRW_OpenCV.cpp.o
[ 84%] Building CXX object CMakeFiles/dso.dir/src/IOWrapper/Pangolin/KeyFrameDisplay.cpp.o
[ 88%] Building CXX object CMakeFiles/dso.dir/src/IOWrapper/Pangolin/PangolinDSOViewer.cpp.o
[ 92%] Linking CXX static library lib/libdso.a
[ 92%] Built target dso
Scanning dependencies of target dso_dataset
[ 96%] Building CXX object CMakeFiles/dso_dataset.dir/src/main_dso_pangolin.cpp.o
[100%] Linking CXX executable bin/dso_dataset
[100%] Built target dso_dataset
a@ubuntu:~/dso/build$ ls
bin CMakeCache.txt CMakeFiles cmake_install.cmake lib Makefile
a@ubuntu:~/dso/build$ cd bin
a@ubuntu:~/dso/build/bin$ ls
dso_dataset
11.
4.在TUM单目数据集上运行DSO
下载TUM单目数据集请到https://vision.in.tum.de/data/datasets/mono-dataset?redirect=1下载你所需要的zip包,我下载的是sequence_14,根据需要自行下载。下载好把zip包放到dso的bin目录下并解压,我的是
➜ bin git:(master) pwd
/home/zpq/dso_pkg/dso/build/bin
➜ bin git:(master) unzip sequence_14.zip
在bin目录下运行启动数据集:
./dso_dataset files=./sequence_14/images.zip calib=./sequence_14/camera.txt gamma=./sequence_14/pcalib.txt vignette=./sequence_14/vignette.png preset=0 mode=0
参考视频和博客:
https://www.bilibili.com/video/BV1wo4y1S71s/?spm_id_from=333.999.0.0