问题标签 [point-clouds]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
2552 浏览

matlab - 使用 matlab 有效地可视化大量点。

我有一组大约 100 万个点的 3D 点。我希望用 matlab 将这些可视化。

我尝试了以下功能:

但他们都非常迟钝。在matlab中有没有更有效的方法来可视化这个级别的点?也许是一种网格化点的方法?

如果没有,任何人都可以建议一个插件甚至一个不同的程序来可视化 3D 点吗?

0 投票
1 回答
2700 浏览

vtk - 如何将两个点云或多边形数据集合并为一个?(合并不附加)

我正在开发一个实时扫描仪,我可以在其中实时扫描表面。到目前为止,我可以扫描表面的一小块并可以保存它。一个补丁意味着仅对表面(点云或三角形)进行 1 次扫描。

我想要的是,我想实时扫描多个补丁。为此,我必须将前一个补丁与当前补丁合并。但我不知道合并两个补丁的标准方式或算法是什么,也不知道哪一个是最好的合并方式,例如,在三角剖分之前(点云合并),或者在三角剖分之后(网格合并)。合并意味着删除重叠的点或三角形

我的想法:如果有两个点云,源和目标然后使用VTK,从目标点云中找到一个最近的点,然后选择一个点,另一个被丢弃。这是一种合并的方法吗?这只是我的想法?但问题是,源和目标中的点数会有所不同。

如何使用 VTK 合并两个补丁,请指导我?

还建议我实现实时扫描任务的标准和最佳方式是什么。

案例#1:
i)点云采集

ii) 注册

iii) 合并

iv) 三角测量

案例#2:

i) 点云采集

ii) 注册

iii) 三角测量

iv) 合并

案例#3:

i) 点云采集

ii) 三角测量

iii)注册

iv) 合并

请指导我。谢谢。

0 投票
2 回答
2587 浏览

point-clouds - 在点云中查找线上的点

我正在使用点云库。我知道有一个使用 RANSAC 方法查找行的功能,但我想做相反的事情。我有一个点云,我有一个线方程,现在,我想找到在线上或附近(在给定阈值内)的所有点。

有什么功能可以用来实现我的目标吗?

我真的很感激任何帮助。

0 投票
1 回答
1118 浏览

c++ - 正常估计曲率场返回 NAN

我正在计算有组织的点云的表面法线,如下所示:

当我遍历法线时,所有点的曲率场都设置为 NAN。我在计算中做错了吗?

0 投票
3 回答
6806 浏览

3d - 计算两个网格之间的豪斯多夫距离

我试图找到两个网格之间的偏差。例如,在 3d 空间中定义的两组点之间的差异,我计划使用一些 3d 可视化工具来可视化距离,例如 QT3d 或一些基于开放 gl 的库。

我有两组网格,基本上是两个 .stl 文件。我已经编程将它们作为输入读取。现在我需要计算相应网格之间的偏差。为此,我知道豪斯多夫距离是一种可能的数学工具。有没有计算两个网格之间的豪斯多夫距离的库?

我设法找到了一段代码。但它本身或多或少是一个程序。它叫做MESH我不想按原样使用它,因为,1. 它是用 C 语言编写的,2. 我想开发自己的应用程序(当然使用库)。

这个论坛上问的其他问题都指向数学算法,我不打算自己实现算法。

我正在使用 QT5 使用 msvc2010(32 位)进行编程。

此致

tdk.

0 投票
1 回答
1204 浏览

vtk - 从云中移除比阈值距离更近的点

我正在导入网格文件,其中每个面都由其顶点的坐标来描述。大多数顶点在点之间共享。因此,我想消除比threshold已经添加到云中的点更近的点。这意味着我需要同时有效地执行最近点查找和点插入。

我尝试使用vtkPointLocator我已经用于静态云的方法;但我不知道应该如何增量使用它。文档非常简洁,示例(例​​如这个)没有涵盖这种情况这篇文章有点帮助,但我仍然没有一个可行的解决方案 - 我在(下面的情况下)出现段错误,在(使用而不是使用时)出现InsertNextPoint无限递归,或者一些 VTK 错误(比如,当有零点时) .CheateChildNodevtkIncrementalOctreePointLocatorvtkPointLocatorno points to subdivide

这大约是我所做的:

如果错误的组织方式有明显的错误,我很乐意提出任何建议。如果没有,我尝试制作 MWE。

BuildLocator从阅读源代码来看,如果点集被修改,似乎每次查找时都会调用增量类,这可能会很昂贵。因此,对于组合插入/查找的更好类的建议也将不胜感激。

0 投票
1 回答
1663 浏览

matlab - 从表面法线计算方向角(nx,ny,nz)

我想从具有 nx、ny、nz 的表面法线向量计算方向角。

我在 Matlab 上使用 princomp() 获得了 3D 点云法线。

每个点都有一个法线向量(nx, ny, nz)。

如何计算法向量的方向角?

我的最终目标是绘制范围图像颜色映射到表面法线的方向角。

0 投票
2 回答
3836 浏览

matlab - 将 3D 点云转换为范围图像

我有许多 velodyne 传感器收集的 3D 点云。例如(x,y,z),以米为单位。

我想将 3D 点云转换为范围图像。

首先,我已经从卡氏坐标转换为球坐标。

现在。如何在 matlab 中使用这些转换将 3D 点转换为范围图像?

整点约为 180,000,我想要 870*64 范围的图像。

方位角范围(-180~180),仰角范围(-15~15)

0 投票
1 回答
1179 浏览

3d - Kinect 点云曲面墙

在我的 Kinect 项目中,我正在尝试从 Kinect 传感器创建点云。显示 3D 点时,我得到了一个倾斜的模型,其中墙壁和地板是弯曲的。

编辑:我正在使用微软的 Kinect SDK。这个点云是在传感器离墙一两英尺远的情况下生成的。

Kinect 示例

0 投票
3 回答
522 浏览

c++ - 在 C++ 中使用属性管理大型空间数据集

我有一个包含大约 700 000 个条目的数据集,每个条目都是一组 3D 坐标,具有名称、时间戳、ID 等属性。

现在我只是在读取坐标并将它们渲染为 OpenGL 中的点。但是,我想将每个点与其对应的属性相关联,并且我希望能够在运行时根据它们的属性对它们进行排序和挑选。我将如何以有效的方式实现这一目标?

我知道我可以将数据放入结构中并使用 stl 排序进行排序,但这是一个好的设计选择还是有更有效/优雅的方式来处理问题?