从使用点云库通过泊松重建构建的网格中去除水密性属性

Posted

技术标签:

【中文标题】从使用点云库通过泊松重建构建的网格中去除水密性属性【英文标题】:Removing the Water Tight-ness property from the mesh constructed by poisson reconstruction using Point Cloud Library 【发布时间】:2014-06-25 14:34:11 【问题描述】:

我想从点云生成具有视觉吸引力的表面重建。

我正在使用点云库。我尝试使用泊松重建方法创建网格,但后来发现它提供了不透水的重建。

例如:在我的例子中,我有一个房间的点云

使用http://justpaste.it/code1 的代码,我能够得到这样的重建

(来源:pcl-users.org)

上面的图片有覆盖顶视图的表面。这是使用 MeshLab 可视化的。 然后稍后在 MeshLab GUI 上,当我按下点时,它看起来像这样。 (来源:pcl-users.org)

但在第二张图片中,它的表面上也有点(在附图中看不清楚)。

您能否帮助创建一个顶部没有点而只有内部结构的模型?

还有什么提高重构质量的建议吗?

房间的点云和生成的ply文件可以从https://dl.dropboxusercontent.com/u/95042389/temp_pcd_ply_files.tar.bz2下载

【问题讨论】:

【参考方案1】:

就我的经验(网格划分洞穴)而言,使用泊松网格划分会产生不透水的模型/网格,这就是您的模型被完全覆盖的原因。我只使用 MeshLab 处理网格,但我猜它是同一回事。我所做的尝试是在 MeshLab 中使用 Ball-Pivoting 网格划分算法,这会产生非防水模型。也许这就是你要找的。​​p>

【讨论】:

【参考方案2】:

对我有用的一个解决方案是获取点云的凸/凹壳。然后你可以在泊松重建后使用这个船体过滤/裁剪你的网格。如果您使用 PCL,您可以尝试 ConvexHullConcaveHullCropHull 并测试结果。希望这能解决您的问题,它对我有用。

【讨论】:

如何裁剪多边形网格? CropBox/CropHull 过滤器似乎只接受点云而不接受网格? 你最好问一个关于这个的新问题

以上是关于从使用点云库通过泊松重建构建的网格中去除水密性属性的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 上从源代码构建点云库 Boost 时出错

qt+pcl点云库

3D,点云重建

3D,点云重建

PCL(点云库)中实时 kinect 数据的范围图像生成

基于倾斜影像的城市三维场景重建