Meshlab的基本使用
1.打开
bundle.rd.out 文件 :
a. 点击按钮1,打开由 VisualSFM生成的存储在xx.nvm.cmvs文件夹下的 bundle.rd.out 文件。随后会询问是否选择照片列表文件,选择同文件夹下的 “list.txt”即可。这一步会把相机及对应的照片导入进来,对后续的纹理处理至关重要。
b. 点击按纽2
,打开显示层目录,检测相机载入是否正确, Render –> Show Camera,因可视化相机的尺寸比网格尺寸大得多,所以需调整相机的缩放因子,scale factor可以从0.001开始调小,直到相机位置清晰可见。
2.稠密点云代替稀疏点云:
a. 点击按钮3,隐藏可视的稀疏点云;
b. File –> Import Mesh加载稠密点云(xx/00/models/option-0000.ply);VisualSFM生成多个.ply文件时,需合并成一个mesh。在载入的任何一个.ply上右键选“Flatter Visible Layers”。
3. 清除杂点:
按钮4选中杂点区,按钮5删除之。
4.网格化:
Filter –> Point Set–> Surface Reconstruction: Poisson.
参数可调, Octree Depth:控制着网格的细节,此值越大细节越丰富但占内存越大运行起来慢,一般设10,可慢慢调大。
利用
Poisson Surface Reconstruction算法由稠密点云生成多边形网格表面。 ,Poisson表面重建算法会生成一个“不漏水”气泡,把所有场景对象包裹在其中。即模型是封闭的。可以移除多余的面Filters –> Selection –> Select faces with edges longer than,而后删除。
5.修复流形边缘:
后续的纹理处理要求网格化的模型必须是流形(MANIFOLD)的,因此需删除非流形边(简单讲就是任何由多面共享的边)。Filters –> Selection –> Select Non-Manifold edges,而后删除之。
6.参数化:
Filter –> Texture –> Parameterization from registered rasters。
根据相机投影关系创建UV映射。
7.纹理投影:
Filter –> Texture –> Project active rasters color to current mesh, filling the texture。
可设置任意分辨率(512的2的二次方倍:512 / 1024 / 2048 / 4096 / 8192…)的纹理图。
6和7可以合为一步: Filter –> Texturing –> Parameterization + texturing from registered rasters.
8.完成导出:
当你调整满意了之后,File –> Save mesh as… a .obj文件。即可便有了一个包含你选定分辨率纹理的obj文件。