Linux下openMVG安装编译指南

openMVG(open Multiple View Geometry)是一款经典的开源三维重建算法库。本文主要介绍再Linux系统中OpenMVG库的安装编译方法。

代码地址:github

官方文档:DOC

安装步骤如下:

1、下载源码,一种方式是使用git clone 下载,另外一种是直接download zip,推荐前者,后者无法完整的下载依赖的库文件,导致编译失败。recursive可以递归的下载依赖的库。

git clone --recursive https://github.com/openMVG/openMVG.git

下载完成后,请务必确认dependencies文件夹中的这三个文件夹不为空!

否则编译时会报错:submodule(s) are missing“或“子模块未对路径注册。解决办法:博客,或者单独git clone下载失败的那个库,并放到对应的文件夹中。

2、依赖库安装

sudo apt-get install libpng-dev libjpeg-dev libtiff-dev libxxf86vm1 libxxf86vm-dev libxi-dev libxrandr-dev
sudo apt-get install graphviz

当然算法还依赖Eigen3.4.0,ceres-solver等库,自行安装即可。

3、编译

创建文件夹,并把下载的源码放到文件夹中。使用cmake编译,如果没意外的话,就编译成功了。

mkdir openMVG_Build && cd openMVG_Build
cmake -DCMAKE_BUILD_TYPE=RELEASE -DOpenMVG_BUILD_TESTS=ON -DOpenMVG_BUILD_EXAMPLES=ON . ../openMVG/src/
make

4、报错解决

(1)submodule(s) are missing

解决办法:lianqi1008的博客

(2)Eigen版本过低

报错信息:

/usr/include/eigen3/Eigen/SparseCholesky:34:2: error: #error The SparseCholesky module has nothing to offer in MPL2 only mode
 #error The SparseCholesky module has nothing to offer in MPL2 only mode
解决办法:重装/升级eigen,或者修改Cmakelist文件280行。本人采用的是后者,毕竟Eigen库其他算法也在用,升级版本可能导致其他算法编译失败。修改如下,让它使用自带的Eigen库,而不使用系统的Eigen。

猜你喜欢

转载自blog.csdn.net/weixin_44884315/article/details/132671669
今日推荐