? ? ? ? colmap是增量式sfm開源軟件。相比于之前的sfm工作,colmap在選擇最優(yōu)初始圖,選擇最優(yōu)更新圖,三角化,BA,和迭代方面都有策略上的更新。本博文介紹其安裝/編譯方法。博主是先安裝跑了下功能,再編譯以閱讀源碼。
1.1colmap安裝
? ? ? ? 安裝的軟件是封裝好的,無法看到源代碼,但是可以很快很方便地用起來。先安裝下來跑功能,有一個直觀感受,看看效果如何。登入colmap官方GitHub:colmap/colmap: COLMAP - Structure-from-Motion and Multi-View Stereo (github.com)。滾動到“download”,下載Pre-Release版本,下面的詞袋樹可以不用下載。
?
?1.2 運(yùn)行
? ? ? ?安裝好后打開colmap.bat,會打開軟件的gui界面。
?可以先手動在目錄下建立Project文件夾,一會兒存放工程,圖片,和數(shù)據(jù)。在Project下再建立images文件夾存放圖片,并把要進(jìn)行sfm的圖片拷進(jìn)去。
?點(diǎn)擊"file">"new project"新建工程,工程是以.db存儲的,同時select image上一步的圖像文件夾,然后點(diǎn)擊save完成工程建立
?接下來直接進(jìn)行特征提取Processin>feature extracting>extract
?然后特征匹配,Processin>feature matching>run
?接下來進(jìn)行稀疏重建和稠密重建,導(dǎo)出點(diǎn)云用meshlab觀看。
?
2 colmap編譯
? ? ? ? 盡管官方推薦用vcpkg編譯Installation — COLMAP 3.8 documentation,但是博主發(fā)現(xiàn)這樣編譯出來也不方便用IDE學(xué)習(xí)閱讀源代碼。但是用vcpkg編譯可以很方便的編譯安裝ceres,boost等依賴庫。這樣只用最后編譯colmap的時候使用cmake生成vs解決方案,就能閱讀源代碼了。因此先下載安裝vcpkgGitHub - microsoft/vcpkg: C++ Library Manager for Windows, Linux, and MacOS?
????????下載完成后打開終端運(yùn)行?./bootstrap-vcpkg.bat 進(jìn)行vcpkg編譯。接下來可以用vcpkg安裝相關(guān)依賴庫ceres,boost,glew,gflag等等。在vcpkg根目錄下終端運(yùn)行 如下代碼進(jìn)行安裝這些依賴庫?。因?yàn)榘惭b過程vcpkg需要下載相關(guān)的庫,所以最好能有一個vpn。如果沒有,可以手動下載然后拷貝到vcpkg/download目錄下在install
vcpkg install cgal:x64-windows
vcpkg install freeimage:x64-windows
vcpkg install glew:x64-windows
vcpkg install boost:x64-windows
vcpkg install ceres[suitesparse,cxsparse]:x64-window
colmap, 在終端運(yùn)行./vcpkg install colmap[cuda,tests]:x64-windows
?在vcpkg/package下看到vcpkg自動下載編譯了這些庫/軟件
?在colmap_x64-windows/tools/colmap目錄下可以找到colmap.exe,打開終端輸入./colmap gui可以打開軟件,說明編譯好了
?但是這樣還是不方便閱讀源代碼。因此還要進(jìn)行第三步,用cmake編譯。
3.用cmake編譯,生成解決方案閱讀源代碼
?? ? ? ? 前面第二步主要是為了下載依賴庫,這一步生成vs的解決方案以閱讀源代碼在vcpkg/download目錄下找到之前用vcpkg自動下載的colmap安裝包,也可以自己下載github上的的源代碼colmap/colmap: COLMAP - Structure-from-Motion and Multi-View Stereo (github.com)。解壓,建立一個build文件夾,然后用cmake編譯。這里經(jīng)常遇到bug,大概就是路徑找不到,庫找不到之類的。手動加上就好了。所有的依賴庫已經(jīng)用vcpkg自動下載了,集成在vcpkg/install目錄下,vcpkg/package下也有,只不過個文件夾下組織的方式不一樣,前者是集成了一個大庫;后者是按各個子庫分別安置的。


最后生成vs解決方案打開,生成ALLbuild,如果還有找不到庫的bug,在vs里手動配置就好了。
給項目colmap exe main函數(shù)傳參 gui:調(diào)試>命令參數(shù)>gui。然后運(yùn)行,跑起來出現(xiàn)軟件就算成功了。下一步就要開始解讀代碼了。
文章來源:http://www.zghlxwxcb.cn/news/detail-474764.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-474764.html
到了這里,關(guān)于cmake/vcpkg x64-windows colmap安裝/編譯的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!