Ubuntu下COLMAP的编译与安装全攻略

2023-12-19 01:15

本文主要是介绍Ubuntu下COLMAP的编译与安装全攻略,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 一、前言
  • 二、安装依赖库
    • 基本的依赖安装
    • Ceres Solver安装
      • 不需要cuda支持
      • 需要cuda支持
  • 三、编译colmap
  • 四、运行colmap
  • 五、总结


一、前言

在计算机视觉领域,colmap是一款功能强大的开源图像重建工具。它提供了包括SfM(Structure from Motion)、MVS(Multi-View Stereo)等在内的多种功能,广泛应用于三维建模、场景理解等领域。对于从事相关研究的人员来说,掌握colmap的使用方法是非常有必要的。本文将详细介绍如何在Ubuntu系统下安装和使用colmap,帮助读者快速入门并开始进行实际操作。


二、安装依赖库

colmap的编译和运行需要一些依赖库。特别常见的我就不介绍了。具体都是我在编译过程中报错一个个解决的,多数可以通过sudo apt-get install来解决,Ceres Solver则需要源码编译。如果在编译过程中遇到其它的库报错,根据提示安装即可。
以下是安装这些依赖库的具体步骤:

基本的依赖安装

# 更新软件包列表
sudo apt-get update
# FLANN 是一个用于高效近似最近邻搜索的库
sudo apt-get install libflann-dev 
# LZ4 是一个非常快速的压缩算法
sudo apt-get install liblz4-dev  
# SQLite3 是一个轻量级的数据库引擎
sudo apt-get install libsqlite3-dev
# CGAL 是一个用于计算几何的 C++ 库
sudo apt-get install libcgal-dev
# METIS 是一个专注于图形和网格划分的软件包
sudo apt-get install libmetis-dev
# FreeImage 是一个开源的图像处理库
sudo apt-get install libfreeimage-dev
# GLEW 提供了跨平台的接口,用于加载和管理 OpenGL 的扩展功能
sudo apt-get install libglew-dev

Ceres Solver安装

不需要cuda支持

如果不需要cuda支持,安装方法相对传统,克隆 Ceres Solver 的源代码,在克隆的仓库目录中,使用 CMake 构建项目并安装。在 CMake 配置步骤中,可以通过设置 -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DCUDA_USE_STATIC_CUDA_RUNTIME=OFF 等选项来禁用 CUDA。这个我没具体尝试,应该是可以。因为我还是需要cuda支持的。

git clone https://github.com/ceres-solver/ceres-solver.git
cd ceres-solver
mkdir build
cd build
# 禁用cuda
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DCUDA_USE_STATIC_CUDA_RUNTIME=OFF ..
make -j$(nproc)
sudo make install

需要cuda支持

这个由于显卡的不同,需要下载合适的版本,我是试出来的2.0.0版在我的电脑上是ok的。最新版的在编译 Ceres Solver 时遇到了一个关于 operator<< 的重载冲突,具体是在尝试将 nullptr 输出到 std::ostream 对象时发生的。所以需要旧一点的版本。降为2.0.0后,编译非常顺利。

wget https://codeload.github.com/ceres-solver/ceres-solver/tar.gz/refs/tags/2.0.0
tar -zxvf ceres-solver-2.0.0.tar.gz  
cd ceres-solver-2.0.0/
mkdir build 
cd build
cmake .. 
make -j$(nproc)
sudo make install

三、编译colmap

  1. 下载和配置COLMAP源代码
git clone https://github.com/colmap/colmap.git
  1. 编译安装

注意在编译的时候需要指定gpu的架构。可以通过运行nvidia-smi命令在终端中查找 GPU 型号,然后在网上查找对应的cuda架构。

cd colmap
mkdir build
cd build
# 指定gpu的架构,这个61是我显卡的架构,具体需要根据自己的显卡来确定。
cmake -DCMAKE_CUDA_ARCHITECTURES=61 ..
make -j$(nproc)
sudo make install

四、运行colmap

安装完成后,可以通过命令行启动 COLMAP:

colmap gui

这将打开 COLMAP 的图形用户界面。


五、总结

本文不仅介绍了如何在Ubuntu系统中安装COLMAP,还介绍了在安装过程中可能遇到的问题以及相应的解决方案。希望这些知识能够帮助读者在后续的研究工作中更加顺利地使用COLMAP。无论是在三维建模还是场景理解的工作中,COLMAP都将成为一个得力的助手。如果在使用过程中遇到任何问题,不要忘记查阅COLMAP的官方文档和社区资源,那里通常能找到解决方案。

这篇关于Ubuntu下COLMAP的编译与安装全攻略的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/510427

相关文章

ubuntu20.0.4系统中安装Anaconda的超详细图文教程

《ubuntu20.0.4系统中安装Anaconda的超详细图文教程》:本文主要介绍了在Ubuntu系统中如何下载和安装Anaconda,提供了两种方法,详细内容请阅读本文,希望能对你有所帮助... 本文介绍了在Ubuntu系统中如何下载和安装Anaconda。提供了两种方法,包括通过网页手动下载和使用wg

ubuntu如何部署Dify以及安装Docker? Dify安装部署指南

《ubuntu如何部署Dify以及安装Docker?Dify安装部署指南》Dify是一个开源的大模型应用开发平台,允许用户快速构建和部署基于大语言模型的应用,ubuntu如何部署Dify呢?详细请... Dify是个不错的开源LLM应用开发平台,提供从 Agent 构建到 AI workflow 编排、RA

ubuntu系统使用官方操作命令升级Dify指南

《ubuntu系统使用官方操作命令升级Dify指南》Dify支持自动化执行、日志记录和结果管理,适用于数据处理、模型训练和部署等场景,今天我们就来看看ubuntu系统中使用官方操作命令升级Dify的方... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。

如何在Ubuntu上安装NVIDIA显卡驱动? Ubuntu安装英伟达显卡驱动教程

《如何在Ubuntu上安装NVIDIA显卡驱动?Ubuntu安装英伟达显卡驱动教程》Windows系统不同,Linux系统通常不会自动安装专有显卡驱动,今天我们就来看看Ubuntu系统安装英伟达显卡... 对于使用NVIDIA显卡的Ubuntu用户来说,正确安装显卡驱动是获得最佳图形性能的关键。与Windo

ubuntu16.04如何部署dify? 在Linux上安装部署Dify的技巧

《ubuntu16.04如何部署dify?在Linux上安装部署Dify的技巧》随着云计算和容器技术的快速发展,Docker已经成为现代软件开发和部署的重要工具之一,Dify作为一款优秀的云原生应用... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。它

Docker安装MySQL镜像的详细步骤(适合新手小白)

《Docker安装MySQL镜像的详细步骤(适合新手小白)》本文详细介绍了如何在Ubuntu环境下使用Docker安装MySQL5.7版本,包括从官网拉取镜像、配置MySQL容器、设置权限及内网部署,... 目录前言安装1.访问docker镜像仓库官网2.找到对应的版本,复制右侧的命令即可3.查看镜像4.启

Android NDK版本迭代与FFmpeg交叉编译完全指南

《AndroidNDK版本迭代与FFmpeg交叉编译完全指南》在Android开发中,使用NDK进行原生代码开发是一项常见需求,特别是当我们需要集成FFmpeg这样的多媒体处理库时,本文将深入分析A... 目录一、android NDK版本迭代分界线二、FFmpeg交叉编译关键注意事项三、完整编译脚本示例四

debian12安装docker的实现步骤

《debian12安装docker的实现步骤》本文主要介绍了debian12安装docker的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录步骤 1:更新你的系统步骤 2:安装依赖项步骤 3:添加 docker 的官方 GPG 密钥步骤

双系统电脑中把Ubuntu装进外接移动固态硬盘的全过程

《双系统电脑中把Ubuntu装进外接移动固态硬盘的全过程》:本文主要介绍如何在Windows11系统中使用VMware17创建虚拟机,并在虚拟机中安装Ubuntu22.04桌面版或Ubunt... 目录一、首先win11中安装vmware17二、磁盘分区三、保存四、使用虚拟机进行系统安装五、遇见的错误和解决

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设