【问题标题】:Efficiently visualise large quantities of points with matlab.使用 matlab 有效地可视化大量点。
【发布时间】:2015-03-17 00:31:35
【问题描述】:

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

我尝试了以下功能:

plot3
scatter3

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

如果没有,任何人都可以建议使用插件甚至其他程序来可视化 3D 点吗?

【问题讨论】:

    标签: matlab visualization point-clouds


    【解决方案1】:

    如果您希望所有百万以上的点都显示在一个情节中,那么无论您使用什么插件/程序,您都会遇到效率问题。我的建议是下采样。每隔一个点或每个第 n 个点使用 plot3 或 scatter3 函数,直到你得到一个不迟钝的图形。只要您的数据差异不是天文数字,稍微下采样就不会影响点的整体分布(假设您有一百万个以上的点)。任何 能够显示这么多数据而又不迟钝的软件很可能会进行下采样/分箱或使用某种插值技术来做到这一点(因此您不妨对其进行控制)。

    【讨论】:

    • 是的,唯一的问题是我正在寻找场景中的东西,它有点小,可能没有很多点。我考虑过取样。但我会再试一次。
    【解决方案2】:

    fscatter3 来自文件交换,随心所欲。

    【讨论】:

      【解决方案3】:

      是否有特定的理由让它实际显示这么多点?

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

      如果您对数据的密度更感兴趣,另一种解决方案是生成直方图:

      【讨论】:

        【解决方案4】:

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

        这个过滤器对于第一个协调的可以实现为 数据=数据(数据(1,:)> 5,:); 前提是您的 3d 数据存储在 n x 3 矩阵中。

        这与下采样一起可以帮助您。如果您仍然发现性能滞后,请考虑使用 PointCloudLibrary 中的 PCD 查看器之类的东西,检查页面的一半 http://pointclouds.org/documentation/overview/visualization.php

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

        【讨论】:

        • 我已经对这些点进行了子采样,实际上我正在尝试找到某物所在的区域,因此我正在尝试这样做。不幸的是,如果没有适当的可视化器,实际上很难找到物体的速度。你对 pcl 是正确的,我以前用过它,但我不想建立一个库等来做到这一点,我希望有一些程序来为我做。
        【解决方案5】:

        对于任何感兴趣的人,我最终找到了一个名为 Cloud Compare 的点云可视化器。它非常快,允许选择和分割以及对点云进行过滤。

        【讨论】:

          猜你喜欢
          • 2020-10-28
          • 2021-02-17
          • 1970-01-01
          • 1970-01-01
          • 2018-12-31
          • 2013-05-17
          • 2020-05-08
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多