c++ - 剔除点云中的受阻点

标签 c++ opengl 3d point-clouds

我有一个 3d 点云图像(见下文)。

而且我想剔除理论上落后于其他点的所有点(例如,人背部周围的点将不可见,因为它被胸部和腹部周围的点遮挡)。

我该如何去解决这个问题?

我所需要的只是正面 View 未被遮挡的点,以便我可以将其用于其他目的。

编辑:它并不是真正用于查看目的。我正在尝试仅隔离无障碍顶点以稍后计算表面法线以提取深度图像特征。

enter image description here

最佳答案

你不能用一个点来掩盖某些东西——它没有维度。

如果您有一个网格(即您知道哪些点“连接”到哪些点),您可以隐藏该网格后面被遮挡的东西。

如果您不这样做,我知道实现类似您的要求的最简单技巧是使用与 z 相关的衰落 - 只需在后面的微弱点上做点。

关于c++ - 剔除点云中的受阻点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13493547/

相关文章:

c++ - 如何在 C++ 中打印堆栈

Java:从 FloatBuffer 到 OpenGL - wrap() vs. allocate() vs. BufferUtils.createBuffer()

javascript - 使用 Cesium.js 围绕顶点进行圆锥旋转

c++ - Qt 的设计问题

c++ - 将函数作为类字段传递

c++ - 按名称返回 PID

c - 在 Raspberry Pi 2 上使用多线程进行 SDL2 渲染

Java LWGJL opengl 缓冲区数据

opengl - 模糊边缘的着色器,或如何绘制光线

c - 绘制立方体时奇怪的 OpenGL 行为