windows下自动运行openMvg+openMvs的exe的脚本(所有exe均在win10下编译成功并提供所有exe(压缩包)),实现三维重建流程

本文把openMvg做稀疏重建,再把稀疏重建的结果转换成.mvs格式的文件,再提供给openMvs做稠密重建的所有步骤的所需文件进行了打包,并写了一个3DReconstruction.bat的脚本文件用于直接运行整个稀疏+稠密三维重建的流程,只需自行修改输入图片数据的目录(具体如何修改见下文),即可用双击运行脚本用于一件实现mvg+mvs的三维重建流程,十分方便,把我们提供的压缩包解压以后能够得到如下图所示的几个文件。此压缩包下载无需任何积分。

windows下自动运行openMvg+openMvs的exe的脚本(所有exe均在win10下编译成功并提供所有exe(压缩包)),实现三维重建流程_第1张图片

(声明:由于是采用windows系统进行编译的openmvg和openmvs,因此此套流程目前仅可用于windows系统)

此目录下名为3DReconstruction.bat的文件是一个脚本,用于跑现有的mvg+mvs三维重建的整个流程。

用notepad++或者记事本等自己常用的文本文件编辑器打开3DReconstruction.bat文件来编辑此脚本中的内容用于修改输入图片的路径,以及保存三维模型的路径。

(notepad++的下载地址为notepad++官网-notepad++下载-免费开源文本编辑器-Notepad)

如下图 1所示,第一条名为rmdir的指令用于删除上一次保存模型路径中的所有内容,以保证上一次重建生成的结果不对本次结果造成影响。若不需要使用此条rmdir指令可以在rmdir之前加上REM或者#这个符号进行注释。如下图 2所示,在使用notepad++打开的情况下,若某行文本变为绿色则说明该行文本为注释不起作用。

windows下自动运行openMvg+openMvs的exe的脚本(所有exe均在win10下编译成功并提供所有exe(压缩包)),实现三维重建流程_第2张图片

图 1

windows下自动运行openMvg+openMvs的exe的脚本(所有exe均在win10下编译成功并提供所有exe(压缩包)),实现三维重建流程_第3张图片

图 2

第二条python开头的指令用于运行以py为后缀名的文件,如下图 3所示,红框中的D:\image2023080717为输入目录的绝对路径,test1/output为输出目录的相对路径(相对于3DReconstruction.bat此脚本所在目录的相对路径,也可以自行修改成绝对路径)。此条指令用于运行整个openMvg的Pipeline(框架),生成稀疏重建的结果,在运行完这条指令以后会在对应的输出目录生成如下所示的目录和文件。如下图 5所示

而在SfM_SequentialPipeline.py中,主要关注下图 4红框中的两个参数OPENMVG_SFM_BIN和CAMERA_SENSOR_WIDTH_DIRECTORY,其中第一个参数OPENMVG_SFM_BIN是表示openmvg框架所需的exe所在目录,即为打包文件夹中的名为openMvg文件夹中的各个exe的所在目录,而第二个参数CAMERA_SENSOR_WIDTH_DIRECTORY则是表示openmvg框架所需的相机参数所在目录,即为打包文件夹中的名为sensor_width_database文件夹中sensor_width_camera_database.txt的所在目录。

windows下自动运行openMvg+openMvs的exe的脚本(所有exe均在win10下编译成功并提供所有exe(压缩包)),实现三维重建流程_第4张图片

图 3

windows下自动运行openMvg+openMvs的exe的脚本(所有exe均在win10下编译成功并提供所有exe(压缩包)),实现三维重建流程_第5张图片

图 4

windows下自动运行openMvg+openMvs的exe的脚本(所有exe均在win10下编译成功并提供所有exe(压缩包)),实现三维重建流程_第6张图片

图 5

如下图 6红框中所显示的指令中,start指令用于运行exe,/wait 参数用于指示等待上一个python指令即openMvg的流程跑完后再运行这个exe,openMvg/openMVG_main_openMVG2openMVS,这个指令的意思是,运行openMvg目录下的openMVG_main_openMVG2openMVS.exe.

其中-i 为input的意思,后面的参数test1/output/reconstruction_sequential/sfm_data.bin代表相机参数文件sfm_data.bin的输入目录,此文件为上一步openMvg流程的输出结果,在上一个py文件运行完毕后已自动保存于输出目录下的reconstruction_sequential/sfm_data.bin中。

其中-o为output的意思,后面的参数test1/output/scene.mvs就是把mvg生成的sfm_data.bin文件转换成scene.mvs文件(此格式的文件才能作为稀疏重建的结果输入openmvs中使用,所以这一步转换无法避免),文件名前面的路径test1/output为保存文件的路径。

其中-d为undistorted_images的意思,此选项可不填,此选项为输出畸变矫正后的无失真图像目录test1/output/undistorted_images,在此目录中存放的即为所有的原始图像矫正后的结果。

windows下自动运行openMvg+openMvs的exe的脚本(所有exe均在win10下编译成功并提供所有exe(压缩包)),实现三维重建流程_第7张图片

图 6

如下图 7这个红框中的指令和上一条指令的解释基本相同,只是多了个-w,其中-w的意思是workspace,即设置工作空间。后续的一些指令用于计算运行时间,可忽略。

windows下自动运行openMvg+openMvs的exe的脚本(所有exe均在win10下编译成功并提供所有exe(压缩包)),实现三维重建流程_第8张图片

图 7

你可能感兴趣的:(windows)