【问题标题】:Vertex Color to UV Map -> Remesh -> Texture mapping顶点颜色到 UV 贴图 -> 重新网格化 -> 纹理映射
【发布时间】:2016-09-29 03:44:37
【问题描述】:

我有一个高分辨率房间的多边形网格,我想提取顶点颜色信息并将它们映射为 UV 贴图,以便生成房间的纹理图集。

之后,我想重新网格化模型以减少多边形数量并将高分辨率纹理以较低分辨率映射到新网格上。

到目前为止,我已经在 Blender 中找到了这个 link,但我想以编程方式进行。你知道任何可以帮助我完成任务的库/代码吗?

我想首先我必须分割模型(法线标准可能会有所帮助)然后切割每个网格段,所以只有这样我才能对其进行参数化。关于参数化,LSCM 似乎为简单模型提供了很好的结果。一旦有了纹理图集,我认为问题就变成了一个简单的纹理映射任务。

我的主要问题是分割和网格切割。我为此目的使用CGAL library,但该算法太简单而无法切割复杂的形状。关于对房间大小的模型表现良好的更好的分割/切割算法的任何提示?

编辑:

网格包含一个用 RGB-D 相机重建的房间,有 250 万个顶点和 470 万个面。关键是提取高分辨率纹理,重新网格化模型以减少多边形数量,然后将纹理重新映射到它上面。不是封闭的mesh,重建的时候有洞,所以我猜我的任务是不是根本完成不了。

我附上了网格的捕获。

【问题讨论】:

  • 要使用的分割方法取决于网格。您能否添加您的网格图像,以便我们有一个想法并将您重定向到最佳方法?
  • 感谢@BrunoLevy 的评论。很高兴看到作者本人对这个问题感兴趣。我已经用我的网格图片编辑了这个问题。

标签: mesh texture-mapping cgal uv-mapping texture-atlas


【解决方案1】:

我建议使用以下 4 步程序:

  • 第 1 步:重新网格化

对于来自计算机视觉的这种类型的网格,您需要一个对孔、重叠、窄三角形等具有鲁棒性的重新网格器...您可以使用我的 GEOGRAM 软件 [1]。使用以下命令:

vorpalite my_input.obj my_output.obj pre=false post=false pts=30000

其中 30000 是所需点的数量(使其适应您输入的复杂性)。注意:我正在停用预处理和后处理 (pre=false post=false),这可能会为此类网格移除过多的网格部分。

  • 第 2 步:重新划分网格

我最喜欢的方法是“变分形状近似”[3]。我喜欢它,因为它易于实现并且在大多数情况下都能给出合理的结果。

  • 第 3 步:参数化

除了我的 LSCM 方法之外,您还可以使用我们在 [4] 之后开发的 ABF++,这在大多数情况下会产生更好的结果。你也可以试试 ARAP [5]。

  • 第 4 步:烘焙纹理

简化网格参数化后,您需要将颜色从原始网格复制到新网格。这意味着确定纹理的每个像素在 3D 中的位置,并在原始 3D 网格中找到最近的点。

在我的 Graphite 软件 [2] 中实现了分割、参数化和烘焙(使用旧版本 2.x,新版本 3.x 没有所有纹理功能)。

[1] 地理:http://alice.loria.fr/software/geogram/doc/html/index.html

[2] 石墨:http://alice.loria.fr/software/graphite/doc/html/

[3] 变分形状逼近(Cohen-Steiner, Alliez, Desbrun, SIGGRAPH 2004):http://www.geometry.caltech.edu/pubs/CAD04.pdf

[4] ABF++:http://alice.loria.fr/index.php/publications.html?redirect=1&Paper=ABF_plus_plus@2004

[5] ARAP:cs.harvard.edu/~sjg/papers/arap.pdf

【讨论】:

  • 这绝对是一个扩展的答案。我会试试这个程序,让你知道它是否有效。非常感谢您的帮助。
【解决方案2】:

为了减少多边形的数量,我更喜欢使用网格抽取。我推荐的工作流程:(输入:带顶点颜色的高分辨率网格(mesh0))。

  1. 计算 mesh0 的 uv 坐标。
  2. 通过顶点颜色生成纹理图像(textureImage)。因此,您有一个纹理网格(带有 uv 坐标的mesh0,textureImage)。
  3. 对mesh0应用网格抽取,抽取应该考虑到uv坐标。

我的站点中有一个关于此工作流程的示例,示例图片:Decimation of texture mesh。 或者您可以参考my site了解详情。

【讨论】:

    猜你喜欢
    • 2015-08-21
    • 2019-08-12
    • 1970-01-01
    • 2021-02-05
    • 2017-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多