cmake/vcpkg x64-windows colmap安装/编译

        colmap是增量式sfm开源软件。相比于之前的sfm工作,colmap在选择最优初始图,选择最优更新图,三角化,BA,和迭代方面都有策略上的更新。本博文介绍其安装/编译方法。博主是先安装跑了下功能,再编译以阅读源码。

1.1colmap安装

        安装的软件是封装好的,无法看到源代码,但是可以很快很方便地用起来。先安装下来跑功能,有一个直观感受,看看效果如何。登入colmap官方GitHub:colmap/colmap: COLMAP - Structure-from-Motion and Multi-View Stereo (github.com)。滚动到“download”,下载Pre-Release版本,下面的词袋树可以不用下载。cmake/vcpkg x64-windows colmap安装/编译_第1张图片

 cmake/vcpkg x64-windows colmap安装/编译_第2张图片

 1.2 运行

       安装好后打开colmap.bat,会打开软件的gui界面。cmake/vcpkg x64-windows colmap安装/编译_第3张图片

 可以先手动在目录下建立Project文件夹,一会儿存放工程,图片,和数据。在Project下再建立images文件夹存放图片,并把要进行sfm的图片拷进去。

cmake/vcpkg x64-windows colmap安装/编译_第4张图片

 点击"file">"new project"新建工程,工程是以.db存储的,同时select image上一步的图像文件夹,然后点击save完成工程建立cmake/vcpkg x64-windows colmap安装/编译_第5张图片

 接下来直接进行特征提取Processin>feature extracting>extract

cmake/vcpkg x64-windows colmap安装/编译_第6张图片

 然后特征匹配,Processin>feature matching>run

cmake/vcpkg x64-windows colmap安装/编译_第7张图片

 接下来进行稀疏重建和稠密重建,导出点云用meshlab观看。

 cmake/vcpkg x64-windows colmap安装/编译_第8张图片

2 colmap编译

        尽管官方推荐用vspkg编译Installation — COLMAP 3.8 documentation,但是博主发现这样编译出来也不方便用IDE学习阅读源代码。但是用vspkg编译可以很方便的编译安装ceres,boost等依赖库。这样只用最后编译colmap的时候使用cmake生成vs解决方案,就能阅读源代码了。因此先下载安装vcpkgGitHub - microsoft/vcpkg: C++ Library Manager for Windows, Linux, and MacOS 

        下载完成后打开终端运行 ./bootstrap-vcpkg.bat 进行vcpkg编译。接下来可以用vcpkg安装相关依赖库ceres,boost,glew,gflag等等。在vcpkg根目录下终端运行 如下代码进行安装这些依赖库 。因为安装过程vcpkg需要下载相关的库,所以最好能有一个。如果没有,可以手动下载然后拷贝到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, 在终端运行./vcpkg install colmap[cuda,tests]:x64-windows

 在vcpkg/package下看到vcpkg自动下载编译了这些库/软件

cmake/vcpkg x64-windows colmap安装/编译_第9张图片

 在colmap_x64-windows/tools/colmap目录下可以找到colmap.exe,打开终端输入./colmap gui可以打开软件,说明编译好了cmake/vcpkg x64-windows colmap安装/编译_第10张图片

 但是这样还是不方便阅读源代码。因此还要进行第三步,用cmake编译。

3.用cmake编译,生成解决方案阅读源代码

         前面第二步主要是为了下载依赖库,这一步生成vs的解决方案以阅读源代码在vcpkg/download目录下找到之前用vcpkg自动下载的colmap安装包,也可以自己下载github上的的源代码colmap/colmap: COLMAP - Structure-from-Motion and Multi-View Stereo (github.com)。解压,建立一个build文件夹,然后用cmake编译。这里经常遇到bug,大概就是路径找不到,库找不到之类的。手动加上就好了。所有的依赖库已经用vcpkg自动下载了,集成在vcpkg/install目录下,vcpkg/package下也有,只不过个文件夹下组织的方式不一样,前者是集成了一个大库;后者是按各个子库分别安置的。

cmake/vcpkg x64-windows colmap安装/编译_第11张图片 package目录下库按库分开 cmake/vcpkg x64-windows colmap安装/编译_第12张图片 installed目录下的库是集成的

 

 

cmake/vcpkg x64-windows colmap安装/编译_第13张图片最后生成vs解决方案打开,生成ALLbuild,如果还有找不到库的bug,在vs里手动配置就好了。

给项目colmap exe main函数传参 gui:调试>命令参数>gui。然后运行,跑起来出现软件就算成功了。下一步就要开始解读代码了。

cmake/vcpkg x64-windows colmap安装/编译_第14张图片

 cmake/vcpkg x64-windows colmap安装/编译_第15张图片

 

 

 

你可能感兴趣的:(windows,c++,visual,studio,github,开源)