问题标签 [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.
matlab - 使用 matlab 有效地可视化大量点。
我有一组大约 100 万个点的 3D 点。我希望用 matlab 将这些可视化。
我尝试了以下功能:
但他们都非常迟钝。在matlab中有没有更有效的方法来可视化这个级别的点?也许是一种网格化点的方法?
如果没有,任何人都可以建议一个插件甚至一个不同的程序来可视化 3D 点吗?
vtk - 如何将两个点云或多边形数据集合并为一个?(合并不附加)
我正在开发一个实时扫描仪,我可以在其中实时扫描表面。到目前为止,我可以扫描表面的一小块并可以保存它。一个补丁意味着仅对表面(点云或三角形)进行 1 次扫描。
我想要的是,我想实时扫描多个补丁。为此,我必须将前一个补丁与当前补丁合并。但我不知道合并两个补丁的标准方式或算法是什么,也不知道哪一个是最好的合并方式,例如,在三角剖分之前(点云合并),或者在三角剖分之后(网格合并)。合并意味着删除重叠的点或三角形
我的想法:如果有两个点云,源和目标然后使用VTK,从目标点云中找到一个最近的点,然后选择一个点,另一个被丢弃。这是一种合并的方法吗?这只是我的想法?但问题是,源和目标中的点数会有所不同。
如何使用 VTK 合并两个补丁,请指导我?
还建议我实现实时扫描任务的标准和最佳方式是什么。
案例#1:
i)点云采集
ii) 注册
iii) 合并
iv) 三角测量
案例#2:
i) 点云采集
ii) 注册
iii) 三角测量
iv) 合并
案例#3:
i) 点云采集
ii) 三角测量
iii)注册
iv) 合并
请指导我。谢谢。
point-clouds - 在点云中查找线上的点
我正在使用点云库。我知道有一个使用 RANSAC 方法查找行的功能,但我想做相反的事情。我有一个点云,我有一个线方程,现在,我想找到在线上或附近(在给定阈值内)的所有点。
有什么功能可以用来实现我的目标吗?
我真的很感激任何帮助。
c++ - 正常估计曲率场返回 NAN
我正在计算有组织的点云的表面法线,如下所示:
当我遍历法线时,所有点的曲率场都设置为 NAN。我在计算中做错了吗?
3d - 计算两个网格之间的豪斯多夫距离
我试图找到两个网格之间的偏差。例如,在 3d 空间中定义的两组点之间的差异,我计划使用一些 3d 可视化工具来可视化距离,例如 QT3d 或一些基于开放 gl 的库。
我有两组网格,基本上是两个 .stl 文件。我已经编程将它们作为输入读取。现在我需要计算相应网格之间的偏差。为此,我知道豪斯多夫距离是一种可能的数学工具。有没有计算两个网格之间的豪斯多夫距离的库?
我设法找到了一段代码。但它本身或多或少是一个程序。它叫做MESH我不想按原样使用它,因为,1. 它是用 C 语言编写的,2. 我想开发自己的应用程序(当然使用库)。
这个论坛上问的其他问题都指向数学算法,我不打算自己实现算法。
我正在使用 QT5 使用 msvc2010(32 位)进行编程。
此致
tdk.
vtk - 从云中移除比阈值距离更近的点
我正在导入网格文件,其中每个面都由其顶点的坐标来描述。大多数顶点在点之间共享。因此,我想消除比threshold
已经添加到云中的点更近的点。这意味着我需要同时有效地执行最近点查找和点插入。
我尝试使用vtkPointLocator
我已经用于静态云的方法;但我不知道应该如何增量使用它。文档非常简洁,示例(例如这个)没有涵盖这种情况。这篇文章有点帮助,但我仍然没有一个可行的解决方案 - 我在(下面的情况下)出现段错误,在(使用而不是使用时)出现InsertNextPoint
无限递归,或者一些 VTK 错误(比如,当有零点时) .CheateChildNode
vtkIncrementalOctreePointLocator
vtkPointLocator
no points to subdivide
这大约是我所做的:
如果错误的组织方式有明显的错误,我很乐意提出任何建议。如果没有,我尝试制作 MWE。
BuildLocator
从阅读源代码来看,如果点集被修改,似乎每次查找时都会调用增量类,这可能会很昂贵。因此,对于组合插入/查找的更好类的建议也将不胜感激。
matlab - 从表面法线计算方向角(nx,ny,nz)
我想从具有 nx、ny、nz 的表面法线向量计算方向角。
我在 Matlab 上使用 princomp() 获得了 3D 点云法线。
每个点都有一个法线向量(nx, ny, nz)。
如何计算法向量的方向角?
我的最终目标是绘制范围图像颜色映射到表面法线的方向角。
matlab - 将 3D 点云转换为范围图像
我有许多 velodyne 传感器收集的 3D 点云。例如(x,y,z),以米为单位。
我想将 3D 点云转换为范围图像。
首先,我已经从卡氏坐标转换为球坐标。
现在。如何在 matlab 中使用这些转换将 3D 点转换为范围图像?
整点约为 180,000,我想要 870*64 范围的图像。
方位角范围(-180~180),仰角范围(-15~15)
3d - Kinect 点云曲面墙
在我的 Kinect 项目中,我正在尝试从 Kinect 传感器创建点云。显示 3D 点时,我得到了一个倾斜的模型,其中墙壁和地板是弯曲的。
编辑:我正在使用微软的 Kinect SDK。这个点云是在传感器离墙一两英尺远的情况下生成的。
c++ - 在 C++ 中使用属性管理大型空间数据集
我有一个包含大约 700 000 个条目的数据集,每个条目都是一组 3D 坐标,具有名称、时间戳、ID 等属性。
现在我只是在读取坐标并将它们渲染为 OpenGL 中的点。但是,我想将每个点与其对应的属性相关联,并且我希望能够在运行时根据它们的属性对它们进行排序和挑选。我将如何以有效的方式实现这一目标?
我知道我可以将数据放入结构中并使用 stl 排序进行排序,但这是一个好的设计选择还是有更有效/优雅的方式来处理问题?