windows环境colmap安装

本文介绍了Colmap在Windows系统下的安装过程。首先需预装好CMake、Boost、QT5、CUDA和CGAL等依赖库并添加环境变量,然后使用Python脚本编译。同时还列举了安装中可能遇到的问题,如依赖库在线下载失败、Glew编译失败等,并给出相应解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Colmap按照官网的编译方式需要预装好CMake,Boost,QT5,CUDA和CGAL

依赖库

1.cmake

安装参考:cmake安装_滑稽的猴子的博客-CSDN博客

解压后将bin目录添加到环境变量Path中。如图:

2.Boost

安装参考:boost安装_滑稽的猴子的博客-CSDN博客

下载以后双击运行解压到一个文件夹下就好,这里我默认解压到了C盘。其中一定要有对应版本的lib库

并添加环境变量:

 3.QT5

 安装参考:QT5安装_滑稽的猴子的博客-CSDN博客

并添加环境变量:

4.CUDA

安装CUDA的教程很多,这里不再赘述。COLMAP的CUDA按照官网的说法是可选择的安装。

 5.CGAL

安装参考:

官网下载页面:Download CGAL for Windows

 下载红色框框圈住的两个文件。上面的那个就是必要的依赖项

将CGAL-5.2.1.zip解压到 D:\dev 文件夹下,将GMP and MPFR libraries解压后的gmp文件夹复制到 D:\dev\CGAL-5.2.1\auxiliary 文件夹中。

 

 

并添加环境变量:

 colmap安装

上述依赖安装完毕后就可以开始编译colmap了。

编译前检查一下环境变量是否都有了:

colmap下载链接:Releases · colmap/colmap · GitHub

这里我下载编译的是dev版本。下载完是一个压缩包,解压到自己想放的文件目录即可。

编译推荐官网的python脚本编译方式,因为这种编译方式会帮你自动下载需要的依赖库,比自己用CMake方便很多。

打开cmd指令窗口,输入:

Python C:\Users\86130\Desktop\COLMAP-3.8-windows-cuda\colmap-3.8\scripts\python\build.py --build_path C:\Users\86130\Desktop\COLMAP-3.8-windows-cuda\colmap-3.8\build --colmap_path C:\Users\86130\Desktop\COLMAP-3.8-windows-cuda\colmap-3.8 --boost_path "C:/local/boost_1_82_0/lib64-msvc-14.3"  --qt_path "C:\Qt\Qt5.14.2\5.14.2\msvc2017_64" --cuda_path "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.2"

注意,上述代码中的路径都是我的文件路径,一定要改成自己安装各个文件时的对应路径

编译过程中网络状况要良好,他会自行下载一些依赖库:

编译完成后,会在源代码文件目录下生成build文件:

编译完成后,会在源代码文件目录下生成build文件:

 打开COLMAP.sln

点击colmap.bat就可以运行了

安装问题

1.依赖库在线下载失败,包括Eigen,FreeImage,glew和ceres相关库:urlopen error
推荐方法使用脚本自动安装的方法,是在线下载colmap依赖的几个库。如果网络受限,比如不能翻墙下载慢,py文件中url无效,都没法正常安装,有时候等待很长时间,或者出现下图的报错:

所以如果有这些库的源代码,直接放在py中指定的文件夹。

打开build.py,其实它的功能就是下载库,解压,移动到__ install__文件夹中,然后cmake编译生成安装。无法下载,我们可以注释掉py文件中下载解压部分,直接开始编译安装,只要修改好py中对应的名字,即可。

2.Glew编译失败,glew.obj : error LNK2019: 无法解析的外部符号 memset,该符号在函数 glewContextInit 中被引用
使用build.py自动编译glew,还会出现以上报错。打开glew的sln,在debug下,打开glew_s的属性管理器–》附加依赖项-》添加msvcrt.lib,重新生成项目即可。

3.suiteparse和ceres可能遇到的问题:找不到lib文件
问题大同小异,可以参考我另外一篇博客。如果build.py出了问题,单独编译suiteparse和ceres也可以,但是注意要把生成的include和lib安装到.py中要求的文件夹中。

4.(vs 2019)编译错误:boost无法解析的外部符号

前面都编译成功了,colmap静态库也生成了,开始链接,生成exe文件,出现下面报错:

**原因:**未知。同样的方法,在vs2017中未出现,vs2019编译就出问题,可能是编译器导致

解决办法:手动打开colmap工程,将colmap_exe工程的release下附加依赖项关于boost相关的 libboost_xxx全部修改为boost_xxx。直接用vs生成该项目,继续在py文件中注释一些函数,运行py把一些依赖的项复制好。
 

### Colmap 安装教程 对于希望安装 COLMAP 的用户而言,COLMAP 是一款广泛应用于计算机视觉领域中的多视图几何和 SfM(Structure from Motion)重建工具。为了成功安装 COLMAP 并解决可能遇到的问题,以下是详细的安装指南。 #### 准备工作环境 确保已安装必要的依赖项,包括但不限于 CMake、CUDA 和 cuDNN 等组件。特别是当使用 GPU 加速功能时,设置 CUDA 架构版本至关重要。如果收到错误提示 `CMake Error at cmake/FindDependencies.cmake:124` 关于未指定 `CMAKE_CUDA_ARCHITECTURES` 参数,则需手动配置此参数[^1]。 ```bash sudo apt-get update && sudo apt-get install -y \ build-essential \ cmake \ git \ libboost-all-dev \ libeigen3-dev \ libsuitesparse-dev \ libcgal-dev \ qtbase5-dev \ libglew-dev \ libgoogle-glog-dev \ libprotobuf-dev \ protobuf-compiler \ python3-pip ``` #### 下载并编译源码 获取最新版 COLMAP 源代码: ```bash git clone --recursive https://github.com/colmap/colmap.git cd colmap mkdir build cd build ``` 接着运行 CMake 配置命令,在这里可以定义构建选项以及处理之前提到的 CUDA 架构问题。通过编辑 `cmake/FindDependencies.cmake` 文件或者直接在命令行中传递 `-DCMAKE_CUDA_ARCHITECTURES=70` 来解决问题。 ```bash cmake .. -DCMAKE_BUILD_TYPE=Release -DCUDA_USE_STATIC_CUDA_RUNTIME=OFF -DBUILD_GUI=ON -DCMAKE_CUDA_ARCHITECTURES="70" make -j$(nproc) sudo make install ``` 完成上述步骤后,应该能够顺利地完成 COLMAP 的本地化部署过程。
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

滑稽的猴子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值