首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在pcl泊松曲面重建中如何将边界条件指定为DIRICHLET?

在pcl泊松曲面重建中如何将边界条件指定为DIRICHLET?
EN

Stack Overflow用户
提问于 2021-12-02 08:02:22
回答 1查看 243关注 0票数 0

我在做表面重建工作。但我遇到了一个问题:

我想在泊松中使用DIRICHLET边界条件,但pcl的泊松似乎不支持指定边界条件,它总是使用NEUMANN边界条件。

因此,我想知道如何在pcl泊松中使用DIRICHLET边界条件。

BTW:我的目标是计算容器的体积。但是我的点云不是水密麻麻的,所以我需要这个算法来“成像”洞的表面。CloudCompare支持指定边界条件,并且运行良好。但在pcl中,NEUMANN边界条件的影响是可怕的。

  • 由pcl泊松(NEUMANN条件)生成的网格如下所示:
  • Cloud比较法(指定的DIRICHLET条件)生成的网格如下所示:
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-07 16:36:50

最初的PoissonRecon代码是在这个github存储库。您还可以找到窗口命令行的预构建可执行文件(--bType用于设置conidtion)。这在从版本9.0开始的命令行可执行文件中可用。

-bType-此整数指定有限元素的边界类型。有效值为: 1:自由边界约束2: Dirichlet边界约束3: Neumann边界约束该参数的默认值为3 (Neumann)。

CloudCompare 使用版本7.

PCL (本文发布时为1.12.0)使用PoissonRecon第4版

Open3D (本文发布时为0.14.1)包含一个版本12的包装器,它支持两个边界条件。然而,它是硬编码使用NEUMANN。您应该能够轻松地更改枚举并编译一个使用DIRICHLET条件的Open3D版本(我本人从未尝试过)。

或者(如果您不能使用原始控制台应用程序或重新编译Open3D),您可以尝试使用您所拥有的。

  1. 你可以尝试根据人脸的面积(较小的密度-较大的三角形区域)来识别“假想的面孔”,并将它们移除。原始储存库提供了一个SurfaceTrimmer工具(另一个控制台项目),它就是这样做的(基于密度值)。
  2. 关闭剩余的开放网格或使用一些关闭孔的方法或凸起船体。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70195911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档