在 PCL 中 运行 泊松重建后移除错误的表面
Removing the wrong surface after running Poisson Reconstruction in PCL
我遇到了类似 的问题。但是我在PCL中使用了Poisson Reconstruction算法而不是MeshLab来重建一个盒子。我得到了一个带有一些扩展表面的网格,如图所示 image.I 现在想删除扩展表面。
我不明白上面问题的答案,也不想修改PCL的源代码。
还有其他方法可以解决这个问题吗? PCL我电脑的版本是1.10.
如有任何建议,我们将不胜感激。
正如您在 link 中提到的那样,这个伪影是 Neumann 边界条件的结果。 PCL 但是不允许您指定边界条件。
原始 PossionRecon library(PCL 实现基于此)确实允许您指定边界条件 - 并且有可用的二进制可执行文件。上面link还包含了所有命令行参数的详细说明。
但是请注意,Dirichlet 边界条件会创建一个水密表面,因此您仍然会在缺少数据的地方拥有“想象中”的面。
“想象的”表面的特点是顶点密度低 - 可用于移除这些面。 PossionRecon 还提供了一个 SurfaceTrimmer 可执行文件(参见上面的 link),它可以做到这一点。它要求 PLY 具有密度 属性,您可以使用带有 --density
选项的 PossionRecon 工具获得。
或者,您可以用面的面积来近似顶点的密度 - 并编写自己的代码来删除面积较大的面。
我遇到了类似
我不明白上面问题的答案,也不想修改PCL的源代码。 还有其他方法可以解决这个问题吗? PCL我电脑的版本是1.10.
如有任何建议,我们将不胜感激。
正如您在 link 中提到的那样,这个伪影是 Neumann 边界条件的结果。 PCL 但是不允许您指定边界条件。
原始 PossionRecon library(PCL 实现基于此)确实允许您指定边界条件 - 并且有可用的二进制可执行文件。上面link还包含了所有命令行参数的详细说明。
但是请注意,Dirichlet 边界条件会创建一个水密表面,因此您仍然会在缺少数据的地方拥有“想象中”的面。
“想象的”表面的特点是顶点密度低 - 可用于移除这些面。 PossionRecon 还提供了一个 SurfaceTrimmer 可执行文件(参见上面的 link),它可以做到这一点。它要求 PLY 具有密度 属性,您可以使用带有 --density
选项的 PossionRecon 工具获得。
或者,您可以用面的面积来近似顶点的密度 - 并编写自己的代码来删除面积较大的面。