我在做表面重建工作。但我遇到了一个问题:
我想在泊松中使用DIRICHLET边界条件,但pcl的泊松似乎不支持指定边界条件,它总是使用NEUMANN边界条件。
因此,我想知道如何在pcl泊松中使用DIRICHLET边界条件。
BTW:我的目标是计算容器的体积。但是我的点云不是水密麻麻的,所以我需要这个算法来“成像”洞的表面。CloudCompare支持指定边界条件,并且运行良好。但在pcl中,NEUMANN边界条件的影响是可怕的。
发布于 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),您可以尝试使用您所拥有的。
https://stackoverflow.com/questions/70195911
复制相似问题