使用matlab高效地可视化大量的点。

使用matlab高效地可视化大量的点。,matlab,visualization,point-clouds,Matlab,Visualization,Point Clouds,我有一组3D点,大约有一百万点。我希望用matlab将这些可视化 我尝试了以下功能: plot3 scatter3 但他们都非常迟钝。有没有更有效的方法在matlab中可视化这一级别的点?也许是一种网格点的方法 如果没有,谁能建议一个插件,甚至是一个不同的程序来可视化三维点 如果你想在绘图中显示所有百万以上的点数,那么无论你使用什么插件/程序,你都会遇到效率问题。我的建议是减少抽样。每隔一点或每N点使用plot3或scatter3功能,直到得到一个不迟缓的图形。只要数据中的方差不是天文数字,稍

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

我尝试了以下功能:

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


如果没有,谁能建议一个插件,甚至是一个不同的程序来可视化三维点

如果你想在绘图中显示所有百万以上的点数,那么无论你使用什么插件/程序,你都会遇到效率问题。我的建议是减少抽样。每隔一点或每N点使用plot3或scatter3功能,直到得到一个不迟缓的图形。只要数据中的方差不是天文数字,稍微降低一点采样就不会影响点的总体分布(假设你有100多万个点)。任何能够显示这么多数据而不显得迟钝的软件都很可能是下采样/装箱或使用某种插值技术来实现这一点(所以你最好控制它)。

有没有具体的原因让它显示这么多点

我在谷歌上搜索了一下,发现一些人也有类似的问题(有人建议将Avizo作为替代程序,但我从未使用过):

  • mathworks.com/matlabcentral/newsreader/view_thread/134022(不可点击,因为我没有足够的代表发布两个以上的链接)
如果您对数据密度更感兴趣,另一种解决方案是生成直方图:


如果您事先知道要查找的特征的大致坐标,请尝试将云通过简单的直通过滤器,该过滤器基本上会裁剪点云。即,如果您知道特征位于x坐标>5处,则删除x坐标<5的所有点

该滤波器可首次实现为: 数据=数据(数据(1,:)>5,:); 前提是您的3d数据存储在n×3矩阵中

这与下采样一起可以帮助您解决问题。如果仍然发现性能滞后,考虑使用像PointCloudLibrary中的PCD查看器之类的东西,检查页面的下半部分。


这是一个可以从matlab启动的独立应用程序。我发现它的性能远远优于迟钝的matlab绘图工具。

对于任何感兴趣的人,我最终找到了一个名为“云比较”的点云可视化工具。它的速度非常快,允许在点云上进行选择、分割和过滤

从文件交换中,做您喜欢的事情

是的,唯一的问题是,我在现场寻找的东西有点小,可能没有太多的要点。我已经考虑过取样了。但我会再试一次,我已经对这些点进行了亚采样,我实际上是在试图找到某个地方,所以我正在尝试这样做。不幸的是,如果没有一个合适的视觉化器,实际找到物体所在的速度是相当困难的。关于pcl你是对的,我以前用过它,但我不想建立一个库等来做这件事,我希望有一些程序来为我做。