前言
三维重建,顾名思义就是对现实世界中的三维物体用计算机来进行模拟。目前主流的有两种手段:采用红外设备对物体进行测距、基于多张有关待测物体的二维图像进行三维重建。由于前者需要红外设备,成本比较昂贵且不易操作,但是随着计算机视觉以及硬件的发展,基于图像的三维重建正慢慢走入实际应用中。本博文主要讲的是后者基于图像的三维重建实现流程。
基于图像的三维重建,一般分为三个步骤:稀疏重建、密集重建、表面重建。对于三维重建的显示我采用的是开源良好的软件meshLab。本文主要讲一下我实现三维重建的各同方法,供大家参考,首先我先祭出一张图,来总结下目前研究三维重建的一些主流组合。
其中,绿色代表着可以实现,反之红色代表着不可实现。
实现三维重建的不同组合
基于图像的三维重建,我试过多种组合都得到了相应的三维模型,其实主要是三维稀疏重建步骤换了好多源码,其余的像密集重建的pmvs和用于三维显示的meshlab都很友好,实现三维重建的组合如下:
- visualSFM + meshlab (windows)
- bundler + PMVS/CMVS + meshlab (linux)
- openMVG + PMVS/CMVS + meshlab (linux)
- openMVG + PMVS/CMVS + meshlab (windows)
接下来具体来叙述下他们的编译及实现流程,在此先说一下,因为密集重建PMVS和meshlab在这些组合中都是共通的,
所以我准备按照三维重建的顺序来讲,把这两个软件编译及实现步骤放到后面统一讲解。
一、visualSFM
环境:
系统:win7 64位
引言
想必这应该是实现三维重建中最简单的软件了吧,网上也有好多有关他的使用介绍。这个软件也可以让初学者能够较快的体验到三维重建的效果,对初学者的体验比较好。此软件无需编译,简单来讲就是从官网上下载Zip包,直接解压运行其中的exe即可,然后按照教程进行导入图片,提取特征,特征匹配,sfm三维重建,一套操作下来