Ubutu1604安裝colmap
從原始碼級別編譯的有cuda加速,直接給的軟體是沒有cuda加速的,而且後面要用pycolmap庫,前提必須自己編譯安裝colmap
環境
聯想Y7000筆記本
ubuntu1604.6
顯示卡 1050TI
顯示卡驅動版本 430
cuda10.1
0前期準備(可跳過)
0-1先不要安裝aconda,不然會造成後面編譯引用庫的時候混亂報錯。關鍵報錯 libtiff4_0引用失敗。
0-2已經裝了aconda的,嘗試修改acoda資料夾名字或者在bash中登出aconda系統路徑,總之讓系統找不到acoda編譯時候就不會用acoda裡面的libtiff和qt庫。
看相關報錯記錄 https://www.cnblogs.com/kekeoutlook/p/13463165.html
我自己第二個沒成功,最後一次發現的方法是重新關聯庫的位置(但是沒有嘗試)。也就是說系統自己裝的libtiff,在aconda裡面也有自己裝得libtiff庫,雖然我手動遮蔽了aconda的系統環境,但是系統預設關聯的庫還是acoda下面的。
總之,在不裝aconda前提下,可以直接編譯成功。
1開始安裝
官網教程
ceap.githuresb.io/install.html#installation
裡面在裝在ceres庫不能按照官網的步驟,回報錯。
1-1 cuda 推薦
Recommended dependencies: CUDA (at least version 7.X)
1-2 基本依賴
sudo apt-get install \ git \ cmake \ build-essential \ libboost-program-options-dev \ libboost-filesystem-dev \ libboost-graph-dev \ libboost-regex-dev \ libboost-system-dev \ libboost-test-dev \ libeigen3-dev \ libsuitesparse-dev \ libfreeimage-dev \ libgoogle-glog-dev \ libgflags-dev \ libglew-dev \ qtbase5-dev \ libqt5opengl5-dev \ libcgal-dev
1-3 安裝qt
Under Ubuntu 16.04/18.04 the CMake configuration scripts of CGAL are broken and you must also install the CGAL Qt5 package:
sudo apt-get install libcgal-qt5-dev
1-4安裝Ceres Solver
Install Ceres Solver:
首先安裝einge3庫這個在1-2中已經完成
按照教程安裝的ceres庫版本,以及網上大多數教程安裝的版本都會和eigen3(3.3.7)有衝突,編譯時會報如下錯誤:
參考連結 https://blog.csdn.net/qq_41586768/article/details/107541917
編譯ceres時:error: ‘integer_sequence’ is not a member of ‘std‘錯誤
這裡換成1.14.0版本的ceres問題得以解決;
1.先刪除之前的ceres-solver:
sudo rm -r /usr/local/lib/cmake/Ceres sudo rm -rf /usr/local/include/ceres /usr/local/lib/libceres.a sudo rm -r /usr/local/share/Ceres
2.下載ceres-solver-1.14.0
wget ceres-solver.org/ceres-solver-1.14.0.tar.gz
3.解壓
tar xvf ceres-solver-1.14.0.tar.gz
4.編譯
cd ceres-solver-1.14.0 mkdir build cd build cmake .. make -j4 make test
5.安裝
sudo make install
1-5 安裝ColMap
git clone https://github.com/colmap/colmap.git cd colmap git checkout dev mkdir build cd build cmake .. make -j4 sudo make install
驗證colmap
colmap -h colmap gui