1. 程式人生 > 程式設計 >Ubutu1604安裝colmap實現方法詳細教程

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)有衝突,編譯時會報如下錯誤:

編譯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

Ubutu1604安裝colmap實現方法詳細教程

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

Ubutu1604安裝colmap實現方法詳細教程

驗證colmap

colmap -h
colmap gui

Ubutu1604安裝colmap實現方法詳細教程

安裝pycolmap

https://github.com/mihaidusmanu/pycolmap

使用Anaconda開啟

https://www.cnblogs.com/kekeoutlook/p/13452214.html

conda create -n colmap_py37_pytorch11 python=3.7
conda activate colmap_py37_pytorch11

Ubutu1604安裝colmap實現方法詳細教程

安裝pycolmap

pip install git+https://github.com/mihaidusmanu/pycolmap

或者手動下載原始碼安裝

  Ubutu1604安裝colmap實現方法詳細教程

pip install ./

報錯1 cmake版本過低,升級更新下就好

Ubutu1604安裝colmap實現方法詳細教程

官網下載原始碼

Ubutu1604安裝colmap實現方法詳細教程

1.通過以下命令查詢cmake版本。

cmake --version

2.這裡,我並沒有解除安裝舊版本的cmake,而是直接安裝新版本,而且這樣沒有出現問題。【非必須】
可去http://www.cmake.org/files查詢需要的版本,寫本部落格時最新版為3.11.3,以此為例。

https://cmake.org/download/

Ubutu1604安裝colmap實現方法詳細教程

3首先

sudo apt-get install openssl
sudo apt-get install libssl-dev
sudo apt-get install build-essential  

下載後解壓,然後進入目錄執行:

./bootstrap
make -j8
sudo make install

Ubutu1604安裝colmap實現方法詳細教程  

驗證版本

cmake --version
cmake version 3.9.0

CMake suite maintained and supported by Kitware (kitware.com/cmake).

3.建立cmake的軟連線

報錯2pybind11缺少

第三方庫沒下載,需要手動下載在資料夾子

Ubutu1604安裝colmap實現方法詳細教程

git clone https://github.com/pybind/pybind11.git

Ubutu1604安裝colmap實現方法詳細教程

複製到pybind資料夾下面

Ubutu1604安裝colmap實現方法詳細教程

重新安裝

Ubutu1604安裝colmap實現方法詳細教程

成功

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。