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

相关文章

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及

MySQL8.2.0安装教程分享

《MySQL8.2.0安装教程分享》这篇文章详细介绍了如何在Windows系统上安装MySQL数据库软件,包括下载、安装、配置和设置环境变量的步骤... 目录mysql的安装图文1.python访问网址2javascript.点击3.进入Downloads向下滑动4.选择Community Server5.

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

MySql9.1.0安装详细教程(最新推荐)

《MySql9.1.0安装详细教程(最新推荐)》MySQL是一个流行的关系型数据库管理系统,支持多线程和多种数据库连接途径,能够处理上千万条记录的大型数据库,本文介绍MySql9.1.0安装详细教程,... 目录mysql介绍:一、下载 Mysql 安装文件二、Mysql 安装教程三、环境配置1.右击此电脑

在 Windows 上安装 DeepSeek 的完整指南(最新推荐)

《在Windows上安装DeepSeek的完整指南(最新推荐)》在Windows上安装DeepSeek的完整指南,包括下载和安装Ollama、下载DeepSeekRXNUMX模型、运行Deep... 目录在www.chinasem.cn Windows 上安装 DeepSeek 的完整指南步骤 1:下载并安装

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

python管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3