CMVS-PMVS源码调制过程(亲自测试)

在编译CMVS-PMVS之前需要进行bundler项目搭建,

参考链接:https://blog.csdn.net/qq_42666483/article/details/80997718 (本人亲测很全)

进行了bundler项目搭建后,进行CMVS-PMVS项目实施。

1.  下载使用CMake

         指定文件路径:XXX\CMVS-PMVS-master\CMVS-PMVS-master\program

         指定输出路径(自己随意定):XXXX\CMVS-PMVS-master\printf  (printf是自己创建的)

2.  输出后在printf文件夹中就是原始c文件了。修改编译都是对printf文件夹中的文件。

3.  使用VS2013依次编译代码,CMake过程可能产生错误,导致少文件生成。产生如下常见两种结果。

CMVS-PMVS源码调制过程(亲自测试)CMVS-PMVS源码调制过程(亲自测试)

    第一个这个解决方案缺少jpeg,CMake过程中可能少编译了,不过不影响结果,处理步骤多些而已。

    第二个(解决方案包含14个项目)这个解决方案正确。

4.  不管编译出来的结果是两个中的哪个,报错修改如下:

     

     error D8016: '/O1' and '/RTC1' command-lineoptions are incompatible

      修改方式:修改nplot这个工程的属性:

CMVS-PMVS源码调制过程(亲自测试)


    (可能出现的问题)编译cmvs,pmvs2等会报错LNK错误,_jpeg.lib错误。

      修改方式:在报错的对应的项目中右键属性,找到如下位置添加相应内容:

CMVS-PMVS源码调制过程(亲自测试)

5.  就可以无报错运行了。全部批生成一遍。然后将如下三个exe文件复制拷贝到bundler项目的bin中。(此bundler项目的构建过程参照:https://blog.csdn.net/qq_42666483/article/details/80997718 (本人亲测很全))

     XXXX\CMVS-PMVS-master\printf\main\Debug中的

CMVS-PMVS源码调制过程(亲自测试)

6.  接下来使用cgywin,定位到bundler项目的bin:

CMVS-PMVS源码调制过程(亲自测试)

     依次输入如下内容:

     ./cmvs.exe ./pmvs/    (注意有空格:如下图)

     (意思是运行cmvs.exe,然后cmvs需要的输入bundle.rd.out文件在pmvs文件夹下)

CMVS-PMVS源码调制过程(亲自测试)

   输入:

   ./genOption.exe ./pmvs/ (注意空格:如图)

  (意思就是执行genoption.exe,然后在这个pmvs文件夹中生成一个option-0000的文件)

CMVS-PMVS源码调制过程(亲自测试)

  输入

  ./pmvs2.exe  ./pmvs/ option-0000 (注意空格,如图)

 (意思就是执行pmvs2.exe,需要的输入是pmvs文件夹中的option-0000)

CMVS-PMVS源码调制过程(亲自测试)

7.  接下来基本运行成功,在bundler项目的pmvs文件夹中的models文件夹中会生成相应的:option-0000.ply。。就是我们需要的三维点数据了。

8. 使用Meshlsb打开此option-0000.ply,效果如下:

CMVS-PMVS源码调制过程(亲自测试)


9.  接下来运行 ./pmvs2.exe  ./pmvs/ option-0000 PATCH PSET

     目的是在models文件夹中生成后续工作所需的patch和pset文件。

CMVS-PMVS源码调制过程(亲自测试)