MeshLab:将 2 个不同的过滤器与质量映射器相结合/从导入的 .txt 点云重建表面

问题描述 投票:0回答:1

我正在寻求帮助以使用 MeshLab 改进我的工作流程。我对代码/编程一无所知。我的目标是在相同质量的地图上使用 2 个滤波器可视化 3D 对象(通过依赖于比例的二次曲面拟合实现 2 个不同的局部曲率质量)。

我的工作流程如下:1)运行过滤器。 2) 定制并应用所需的质量映射器 3) 以 .ply 格式(非二进制 ASCII)导出网格。 3) 在 Excel 中打开文件。 4) 根据基于质量值(局部曲率)的所需阈值来操作 RGB 数据。 5) 将文件另存为 .txt 并将其导入回 Mesh Lab。

当我将 .txt 文件导入回 MeshLab 时,它以点云形式打开,因此需要进行表面重建。我不知道如何以及在哪里优化我的工作流程。

A) 有没有办法在 MeshLab 中直接组合 2 个滤波器? B) 是否可以将 .txt 或 .xcsl 转换为 .ply,以便不需要表面重建? C) 表面重建的最佳算法是什么以及如何优化算法的参数(重建/八叉树深度、比例因子等)以便不损失表面分辨率?

meshlab 3d-reconstruction ply-file-format
1个回答
0
投票

有两种不同的方法可以帮助您解决问题。

“当我将 .txt 文件导入回 MeshLab 时,它会作为点云打开”

当您将网格导出为具有颜色和质量值的 ascii ply 时,您会得到如下内容:

ply
format ascii 1.0
comment VCGLIB generated
element vertex 6
property float x
property float y
property float z
property uchar red
property uchar green
property uchar blue
property uchar alpha
property float quality
element face 4
property list uchar int vertex_indices
end_header
0 -0.942809 0 0 0 255 255 -0.7071059 
0 1.88562 0 255 0 0 255 -1.060661 
0.816495 0.471406 0 0 0 255 255 -0.7071076 
-0.816495 0.471406 0 0 0 255 255 -0.7071076 
1.63299 -0.942809 0 254 0 0 254 -1.060661 
-1.63299 -0.942809 0 254 0 0 254 -1.060661 
3 2 3 0 
3 3 2 1 
3 2 0 4 
3 0 3 5 

文件中有 3 个部分:

  • 标题:“end_header”行上方的所有单词
  • 顶点信息:具有 x y z r g b a q 值的线。 (示例中为 6 行)
  • 表面信息:创建面的顶点索引(示例中为 4 行)

您想要的只是在 Excel 中导入顶点信息,使用 Excel 公式操作 RGB 数据并将其导出为 temp.txt 文件。

然后,在文本编辑器(记事本、代码、vim 等)中再次打开 .ply 文件,并将 temp.txt 文件粘贴到顶点信息上。 请勿更改标题或表面线。再次保存文件并将扩展名从 .txt 更改为 .ply。

有没有办法以某种方式直接在 MeshLab 中组合 2 个滤波器?

是的,是的。

  1. 运行过滤器来计算某些内容(比如说

    Discrete curvatures->Mean Curvature
    )并将其存储为每个顶点的质量值。

  2. 使用过滤器

    Define New Per Vertex Custom Scalar Attribute
    将质量值传输到命名属性。选择一个名称,例如 q1。

  1. 运行另一个过滤器来计算某些内容(比如说

    Discrete curvatures->Gaussian Curvature
    )并将其存储为每个顶点的质量值。

  2. 再次使用过滤器

    Define New Per Vertex Custom Scalar Attribute
    将质量值传输到命名属性。选择一个名称,例如 q2。

  3. 启动

    Per Vertex Color Function
    并定义使用 q1 和 q2 作为变量的 R、G、B 函数。您可以使用 + - * / min() max() abs() cos() 等...

  1. 作为
    Per Vertex Color Function
    的替代方案,您还可以使用
    Per Vertex Quality Function
    ,它可以让您计算一个标量值,然后使用
    Quality Mapper
    的一个调色板将该值转换为颜色。

© www.soinside.com 2019 - 2024. All rights reserved.