OpenMVG学习系列一:Ubuntu 上的 OpenMVG 安装全指南

2 篇文章 0 订阅


前言

在当今的计算机视觉领域,三维重建技术正变得日益重要。OpenMVG(Open Multiple View Geometry)作为一个开源的多视图几何库,为研究者和开发者提供了一个强大的工具,用于处理和理解从多个图像中提取的三维信息。本博客旨在提供一个实用的指南,详细介绍如何在 Ubuntu 系统上安装 OpenMVG。我们将从实操的角度出发,不仅涵盖安装步骤,还包括解决安装过程中可能遇到的常见问题。无论您是深度学习的专家还是计算机视觉的初学者,这篇博客都将为您提供必要的指导和技巧,帮助您顺利完成 OpenMVG 的安装和配置。


主要安装方法

在 Ubuntu 系统下安装 OpenMVG 主要涉及获取源代码、安装依赖库和编译安装。以下是一个基本的最新的OpenMVG安装指南:

我们假定gcc, g++, cmake等基本的工具已经安装完成。

  1. 安装依赖项
    首先,您需要安装一些必要的依赖库。打开终端并运行以下命令:
sudo apt-get update
sudo apt-get upgrade
# sudo apt-get install -y libpng-dev libjpeg-dev libtiff-dev libglu1-mesa-dev
# sudo apt-get install libgoogle-glog-dev libgflags-dev libatlas-base-dev libeigen3-dev libsuitesparse-dev

注意:

  1. 这一步按照实际情况处理,在编译的时候如果有问题,要根据报错信息进行安装。
  2. upgrade非常必要,因为eigen库与系统的数学库有关,而eigen库的版本匹配对于这个项目的编译非常重要。
  3. eigen库版本的问题非常突出,在这里安装不适用,后面会进行详细的说明。
  1. 克隆 OpenMVG 仓库
    接下来,从 GitHub 克隆 OpenMVG 的源代码:
git clone --recursive https://github.com/openMVG/openMVG.git

这将下载 OpenMVG 的源代码及其子模块。
注意:

  1. 一定要用–recursive,可以完整的下载所需要的第三方模块,否则需要自己手动下载 。
  2. 在src/dependencies里面,有三个第三方模块cereal, glfw, osi_clp,要确保这三个模块存在。
  1. 编译 OpenMVG
    然后,您需要编译 OpenMVG。首先,创建一个构建目录并进入该目录:
cd openMVG
mkdir build
cd build

接下来,使用 CMake 配置项目并编译,注意CMakeLists.txt是在src目录下:

cmake -DCMAKE_BUILD_TYPE=RELEASE . ../src
make

将配置并编译 OpenMVG。请注意,可能需要根据系统配置调整这些命令。
在 CMake 配置时,可以尝试手动指定 Eigen 库的路径。首先要找出 Eigen 头文件安装的路径。它通常位于 /usr/include/eigen3 或 /usr/local/include/eigen3。例如:

cmake -DEIGEN_INCLUDE_DIR="/path/to/eigen" . ../src/
  1. 可选:安装 OpenMVG
    如果希望将 OpenMVG 安装到系统中,可以使用以下命令:
sudo make install

这一步是可选的,也可以直接在构建目录中使用 OpenMVG。

常见问题及解决方法

其它安装依赖库的问题,这一步在cmake的时候如果遇到了根据实际报错解决。这里重要介绍eigen,Qt5和Qt5Svg的安装问题。

eigen问题

eigen的问题特别重要。因此版本的不对很可能导致编译失败。
一般eigen有三种安装方法

  1. GitLab 仓库下载最新的源代码,git clone https://gitlab.com/libeigen/eigen.git,然后源码安装,方法非常传统,这里不再详述具体过程。
  2. 用ubuntu的apt安装命令sudo apt install libeigen3-dev
  3. eigen官方网站下载安装。解压后用传统的cmake安装方式进行安装。

重点强调,在OpenMVG的安装中,第三种方式最为有效,第一和第二种很容易造成eigen版本的不匹配现象。我用的是最新的3.4.0版本。

Qt5的问题

在OpenMVG的编译过程中报错信息表明 CMake 在尝试构建 OpenMVG 时找不到 Qt5 的相关组件,特别是 Qt5Widgets。Qt5 是一个广泛使用的跨平台应用程序和用户界面框架,OpenMVG 中的某些示例或工具可能依赖于 Qt5。
要解决这个问题,需要在系统上安装 Qt5,特别是 Qt5 的 Widgets 组件。以下是在 Ubuntu 上安装 Qt5 的步骤:

  1. 安装 Qt5:
sudo apt-get update
sudo apt-get install qtbase5-dev

这个命令将安装 Qt5 的基础开发包,其中包括 Qt5Widgets。

  1. 安装其他 Qt5 组件(可选):
    如果 OpenMVG 需要其他 Qt5 组件,可以安装完整的 Qt5 开发包:
sudo apt-get install qt5-default
  1. 配置CMake
    安装 Qt5 后,可能需要重新配置 CMake,以便它能够找到 Qt5 的组件。通常安装 Qt5 后,CMake 应该能够自动找到所需的组件。如果 CMake 仍然找不到 Qt5,可以手动设置 Qt5_DIR 变量:
  • 找出 Qt5 的安装路径:
    Qt5 的 CMake 配置文件通常位于 Qt5 的安装目录下,在/usr/lib下可以直接用find命令查找。
  • 在 CMake 中设置 Qt5 路径:
    在运行 CMake 配置时,可以添加 -DQt5_DIR=/path/to/Qt5/lib/cmake/Qt5,其中 /path/to/Qt5 是 Qt5 安装的路径。
    例如,我的设备上Qt5的安装路径为/usr/lib/x86_64-linux-gnu/cmake/Qt5
cmake -DQt5_DIR=/usr/lib/x86_64-linux-gnu/cmake/Qt5 ..

完成这些步骤后,应该能够重新运行 CMake 并构建 OpenMVG,而不会遇到关于 Qt5 的警告。

  1. 注意事项
  • 确保安装的 Qt5 版本与 OpenMVG 兼容。
  • 如果不需要 OpenMVG 中的基于 Qt5 的功能,您也可以在 CMake 配置中禁用这些功能,这样就不需要安装 Qt5 了。

Qt5Svg的问题

在OpenMVG的安装过程中,报错显示它找到了 Qt5 的配置文件,但是没有找到 Qt5 的 “Svg” 组件。这通常意味着 Qt5 的 Svg 组件没有被正确安装或配置。
要解决这个问题,需要安装 Qt5 的 Svg 组件。以下是在基于 Debian 的系统(如 Ubuntu)上安装 Qt5 Svg 组件的步骤:

  1. 安装 Qt5 Svg 组件
    在终端中运行以下命令来安装 Qt5 Svg 组件:
sudo apt-get update
sudo apt-get install libqt5svg5-dev

这将安装 Qt5 的 Svg 开发包,包括必要的 CMake 配置文件。

  1. 重新运行 CMake
    安装完 Qt5 Svg 组件后,您需要重新运行 CMake 来配置您的项目。这将使 CMake 能够找到并正确配置 Qt5 的所有组件,包括 Svg。

  2. 验证安装
    安装完成后,您可以通过检查 /usr/lib/x86_64-linux-gnu/cmake/Qt5Svg/ 目录来验证 Qt5 Svg 组件是否已正确安装。该目录应该包含Qt5SvgConfig.cmake文件。


总结

通过本篇博客,我们详细探讨了在 Ubuntu 系统上安装 OpenMVG 的全过程,包括基本的安装步骤以及解决常见问题的策略。从安装必要的依赖库到配置和编译 OpenMVG,我们尽力提供了清晰、简洁的指导。此外,我们还讨论了如何应对安装过程中可能遇到的一些技术挑战,如依赖项问题和编译错误。

  • 19
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值