ChocolateBlack
Windows下配置OpenMVG+CMVS-PMVS

Windows下配置OpenMVG+CMVS-PMVS

前言:因为自己的Linux系统空间不太够,跑不了pmvs做稠密重建,不得已换回windows系统去跑。然而windows配置OpenMVG和CMVS-PMVS实在是有点麻烦,加上网上相关的教程几乎没有(甚至有的是错的……),花了一整个下午才弄好。鉴于目前网上还没有相关的windows配置OpenMVG+CMVS-PMVS详细教程,于是趁热写下一篇。不过我的建议还是能用Linux还是用Linux。

另外,养成好习惯,多看看仓库里的MD文件。实际上在Windows的配置,人家已经在Build.md文件里讲的差不多了。

一、Windows下配置OpenMVG

(1)下载源代码

首先我们要从GitHub上git下OpenMVG的代码:

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

加recursive是为了同时把OpenMVG的子模块下载下来,如果单纯clone下来的话,还需要运行:

1
$ git submodule update --init --recursive

*如果网速不好,无法直接从GitHub下载怎么办?

我们可以用国内的码云来解决这一问题。首先,我们把OpenMVG fork到我们的GitHub仓库,然后,进入/src/dependencies文件夹,里面的三个文件夹就是OpenMVG的子模块。我们分别点进这三个子模块,跳转页面,把这三个子模块也fork到我们的仓库。

img

之后,我们进入码云。登录/注册账号完成进入主页,点击右上方加号按钮,点击导入仓库,导入Github仓库,账号授权后,把我们刚才fork后的仓库导入到码云的仓库里。

img

然后,我们复制码云里的OpenMVG仓库链接,git clone [码云里的OpenMVG仓库链接]。打开OpenMVG文件夹,修改.gitmodules文件,把三个子模块里的url链接替换为码云里的链接。之后在OpenMVG文件夹里运行:

1
$ git submodule update --init --recursive

即可完成下载。

(2)编译OpenMVG

首先,我们需要确保我们的Windows系统有Cmake以及15版本及以上的VS(Visual Studio)。没有的话需要先下载。这里就不多讲了,网上教程很多,直接百度即可。

之后,我们在OpenMVG的src文件夹里新建一个build文件夹,然后打开cmake-gui,在source code处填OpenMVG的src的文件夹路径,在build the binaries处填新建的build文件夹的路径。

img

然后点击Configure,选择Generator为VS,然后点确定。Configure运行完成后,点击Generate。

之后打开build文件夹,打开openMVG.sln,将解决方案配置改为Release,之后运行,等待编译完成。期间可能会有报错,但是问题不大,不会影响后续的使用。

img

(3)设置环境变量

编译完成后,打开build目录下的Release文件夹(我这里的文件夹名为Windows-AMD64-Release),再点开里面的Release文件夹,可以发现,我们OpenMVG的程序都放在这里。我们把存放程序的Release文件夹的路径复制,右键桌面的计算机,点击属性->高级系统设置->高级->环境变量,在系统变量里的Path中添加我们刚才复制的路径,之后就可以使用了。

img

二、Windows下配置CMVS-PMVS

这个相对来说比OpenMVG简单不少。首先老样子,先clone下仓库(这里没有子模块,直接clone就行)。

之后把文件夹里的/binariesWin-Linux/Win64-VS2010(32位的选择Win64-VS2010)的路径按照同样的方式添加进环境变量就OK啦!

本文作者:ChocolateBlack
本文链接:http://chocolateblack.club/2021/06/21/Windows下配置OpenMVG/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可