密集重建日记:
0. 使用CMake3.0 对CMVS-PMVS-master项目生成VS2010 X64 解决方案,编译通过13个,跳过一个。该怎么使用并不清楚。当然是找程序入口,在整个解决方案中找“mian”函数(其实找main文件夹下的CMakeLists.txt也可以知道哪些是程序入口);
找到cmvs.cc文件中的"main"函数,函数有参数需要输入,然而我并不知道参数是什么意思,即使我已经看完了main函数;
找到了genOption.cc中的main函数,一样也需要输入参数,这个main我并没有看;
在sobolseq.c中也找到一个main函数,并没看;
在pmvs2.cc文件中也找到一个main函数,也未看;
在jpeglib.h文件中定义了一个结构体指针main,未看;
我还是先看一看这些main函数;重新看cmvs.cc中的main;
--头文件包含了,iostream、vector、list和bundle(位置在base 文件夹下的cmvs文件夹)
这个main函数根据函数输入判断了当前机器可以输入的最大图像数量和当前机器的CPU数量。
定义了四个常类型变量,单浮点数有scoreRatioThreshold与coverageThreshold,都是0.7f,整型有INumberForScore为4,pnumThreshold为0;
定义了CMVS命名空间的一个CBundle 对象,使用上面的7个参数作为bundle的run函数的实参。
读完后我的困惑应该是bundle的run函数参数的意思。
bundle.run(argv[1], maximage, iNumForScore,
scoreRatioThreshold, coverageThreshold,
pnumThreshold, CPU);
接下来我解读这个函数的参数,先猜一猜,后面验证;
run函数声明是这样的:
void run(const std::string prefix, const int imageThreshold,
const int tau, const float scoreRatioThreshold,
const float coverageThreshold, const int pnumThreshold,
const int CPU);
第一个:const std::string prefix---前缀,我猜是图像所在路径前缀
第二个:const int imageThreshold--图像阈值,图像至多的数量
第三个:const int tau--对应是inumForScore,具体意思并不清楚
第四个:const float scoreRatioThreshold---
第五个:const float coverageThreshold--
第六个:const int pnumThreshold--
第七个:const int CPU--当前系统CPU个数
阈值的作用是什么?阈值针对什么对象?
----我不是只使用这个工具吗?那就不要看了!看完了也不会有什么进步。