Windows系統(tǒng)下COLMAP的編譯可以分為三部分:(1)手動(dòng)下載安裝Boost、Qt、CGAL、CUDA(Boost和CGAL也可以用vcpkg安裝);(2)利用vcpkg安裝glew、freeimage、ceres等庫(kù)(3)最后在colmap源代碼目錄下的build文件夾打開cmd,輸入cmake命令生成解決方案
0 預(yù)安裝
CMake、Git、Visual Studio 2019、Vcpkg等提前安裝好,vcpkg和git可以參考博客
并在系統(tǒng)環(huán)境變量中添加CMake和Git,如下所示:
注意:環(huán)境變量換成自己安裝的位置,切勿照搬。VS2019一定要安裝英文版!?。。榱朔奖鉽cpkg)。
1. Qt、CUDA、Boost、CGAL的安裝
COLMAP官方安裝指南首推vcpkg安裝,其次利用python安裝腳本,如下所示:
從中可以推測(cè)需要我們自己安裝的主要就是boost、qt、cuda和cgal。
python scripts/python/build.py \
--build_path path/to/colmap/build \
--colmap_path path/to/colmap \
--boost_path "C:/local/boost_1_64_0/lib64-msvc-14.0" \
--qt_path "C:/Qt/5.9.3/msvc2015_64" \
--cuda_path "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0" \
--cgal_path "C:/dev/CGAL-4.11.2/build"
1.1 Boost安裝
以下為參考博客的摘抄:
1)打開cmd,進(jìn)入boost文件夾,有一個(gè)批處理文件bootstrap.bat。
2)在cmd輸入命令bootstrap.bat,運(yùn)行結(jié)束會(huì)出現(xiàn)b2.exe或者bjam.exe(沒區(qū)別,作者是兩個(gè)都生成了)。
3)然后在cmd輸入命令bjam.exe。會(huì)出現(xiàn)一個(gè)文件夾lib64-msvc,里面裝著boost的各種庫(kù)。
ps:這里可能在運(yùn)行了bjam之后沒有出現(xiàn)這個(gè)文件夾(作者本人就是),
重新輸入命令bjam install --toolset=msvc-14.1 address-model=64 --prefix=“D:\remote-sensing\colmap\boost_1_64_0\lib64” link=static runtime-link=shared threading=multi debug release。(VS2019改為msvc-14.2,prefix路徑改成自己對(duì)應(yīng)的路徑)生成lib64文件夾,lib64->lib中裝著boost的庫(kù)。
我的安裝目錄如下,其中msvc-14.2指的是VS2019:
1.2 CUDA安裝
以下內(nèi)容為參考博客的摘抄:
CUDA下載,第一次會(huì)讓設(shè)置臨時(shí)解壓目錄,第二次會(huì)讓設(shè)置安裝目錄,解壓目錄之后會(huì)消失,不要選擇相同目錄做安裝目錄。
安裝目錄建議直接選擇默認(rèn)路徑,我的默認(rèn)安裝路徑為:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2
安裝時(shí)選擇“自定義安裝”,不選“精簡(jiǎn)”。選擇程序組件時(shí),注意不要勾選“Nsight Systems”,“Nsight Compute”。
“CUDA”下的 “Runtime”、“Development”、“Documentation”、“Samples”,這四項(xiàng)是必選的
下述的其他選項(xiàng)根據(jù)情況自己選擇即可,安不安裝應(yīng)該關(guān)系不大:
- 取消勾選NVIDIA GeForce Experience(有的cuda版本沒有此選項(xiàng))
- 如果之前沒有更新驅(qū)動(dòng),在這里可以勾選“Other components”和“Driver component”,否則也取消勾選
- “Visual Studio Integration”這一項(xiàng)沒有使用VS環(huán)境可以不選
1.2.1 CUDA環(huán)境變量
1.2.2 CUDA和驅(qū)動(dòng)驗(yàn)證
打開cmd輸入nvidia-smi可查找驅(qū)動(dòng)的版本,如下所示。我電腦的驅(qū)動(dòng)版本是462.30,最高可支持CUDA11.2版本。
但實(shí)際上我只裝了CUDA10.2版本,輸入nvcc --version可以查看,如下所示:
COLMAP的Cmakelist.txt寫了這樣一句,
message(STATUS “Enabling CUDA support (version:
${CUDA_VERSION_STRING},”
" archs: ${CUDA_ARCH_FLAGS_readable})")
具體到CMake的編譯LOG為:
說明該句可以顯示安裝CUDA的版本以及算力版本,編譯一些CUDA代碼時(shí)候就需要填寫sm_75。
1.3 Qt安裝
Qt官方下載地址
以5.14.2為例,進(jìn)入網(wǎng)站后依次進(jìn)入:5.14>5.14.2>qt-opensource-windows-x86-5.14.2.exe,下載exe.
一般安裝以下幾種:
注意Qt版本:MSVC和MinGW版本的區(qū)別。msvc使用的是vs的編譯器,這個(gè)版本主要用于PC開發(fā);MinGW版本使用MinGW編譯器,主要用于跨平臺(tái)開發(fā)。兩個(gè)版本的Qt配置方式完全不同。因此,為了能是colmap-gui能正常運(yùn)行,必須安裝qt-msvc,同時(shí)添加環(huán)境變量如下所示。
1.4 CGAL安裝
從5.0版本開始,CGAL僅是一個(gè)頭文件庫(kù),這意味著CGAL無需編譯,只需安裝好CGAL的依賴項(xiàng)即可。
- CGAL主要依賴項(xiàng)是boost
- CGAL還依賴GMP和MPFR(CGAL會(huì)提供編譯好的,見下圖)
- 如果需要使用CGAL的可視化功能,則還需要Qt庫(kù)
1.4.1 CGAL下載和解壓(不編譯)
CGAL的GitHub下載兩個(gè)zip:
auxiliary解壓后放到CGAL-5.5里面
1.4.2 vcpkg安裝CGAL
我在安裝colmap之前已經(jīng)用vcpkg安裝OpenMVS時(shí)已經(jīng)裝過CGAL。
在 vcpkg安裝目錄下輸入:vcpkg list cgal, 可以查看CGAL安裝的版本是5.5,如下所示。
沒有安裝則輸入:vcpkg install cgal::x64-windows
2. Vcpkg安裝glew、Ceres、
以下內(nèi)容來自參考博客:
2.1 Ceres solver
如果是手動(dòng)安裝的話,非常麻煩,所以這里通過vcpkg 方式來安裝
vcpkg install ceres[suitesparse,cxsparse]:x64-windows --recurse
同時(shí)在C:\local\dev\vcpkg\packages\ceres_x64-windows\share\ceres(根據(jù)你的vcpkg安裝目錄設(shè)置)路徑下修改CeresConfig.cmake,將其改成如下(否則cmake無法找到ceres)
2.2 vcpkg 安裝freeimage 、glew(boost和CGAL可選)
如果已經(jīng)安裝并編譯了boost,且系統(tǒng)環(huán)境變量已添加,那么可以不用vcpkg安裝boost,CGAL同理。
這里安裝完畢后,需要去修改colmap 的CmakeLists,如下:(windows 太坑,區(qū)分大小寫)
3. 使用CMake生成COLMAP.sln解決方案
打開cmd,進(jìn)入colmap 3.7/build 文件夾,輸入命令:cmake -G "Visual Studio 16 2019" -DCMAKE_TOOLCHAIN_FILE=C:\local\dev\vcpkg\scripts\buildsystems\vcpkg.cmake ..
其中"Visual Studio 16 2019"表示我電腦上的安裝的是VS2019,"DCMAKE_TOOLCHAIN_FILE="后面的路徑替換成你的vcpkg安裝地址。
4. 打開.sln,解決方案配置選擇Release+x64,然后編譯
ALL_BUILD>右鍵>Build文章來源:http://www.zghlxwxcb.cn/news/detail-401895.html
5. 啟動(dòng)GUI
打開cmd,進(jìn)入目錄(換成你的路徑)\colmap-3.7\build\src\exe\Release,輸入colmap -h可以查看使用說明,輸入colmap gui可以打開窗口程序。文章來源地址http://www.zghlxwxcb.cn/news/detail-401895.html
到了這里,關(guān)于Colmap編譯教程及筆記 [Windows+VS2019+Vcpkg]的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!