Python-显示三维点云

Python-显示三维点云,python,3d,point-cloud-library,point-clouds,ply,Python,3d,Point Cloud Library,Point Clouds,Ply,我有一个.PLY文件,其中包含一个3D点云:我想用Python绘制并可视化它。 .PLY文件仅包含顶点,不包含面 您能告诉我一个简单的Python库,用于绘制3D点云吗? 请务必注意,我对绘制网格不感兴趣,只对点云感兴趣 您可以使用vtk,它具有到的python绑定,只需显示。 如果您想使用numpy等工具处理数据,我建议您执行以下步骤: 将.ply转换为.pcd(ascii):pcl\u ply2pcd input.ply output.pcd-格式0 使用pypcd,这是一个用于读取和写入

我有一个.PLY文件,其中包含一个3D点云:我想用Python绘制并可视化它。 .PLY文件仅包含顶点,不包含面

您能告诉我一个简单的Python库,用于绘制3D点云吗?


请务必注意,我对绘制网格不感兴趣,只对点云感兴趣

您可以使用vtk,它具有到的python绑定,只需显示。

如果您想使用numpy等工具处理数据,我建议您执行以下步骤:

  • 将.ply转换为.pcd(ascii):
    pcl\u ply2pcd input.ply output.pcd-格式0
  • 使用pypcd,这是一个用于读取和写入.pcd文件的python模块
  • Pypcd返回一个numpyndarray,它可以与matplotlib完美结合使用
  • 如果您想留在pcl世界中,有一个PythonPCL模块包含到库的绑定

    如果其中一个符合您的需要,我可以对其中任何一个进行进一步阐述。

    您可以使用它来可视化Jupyter笔记本中的厚度:

    from pyntcloud import PyntCloud
    
    human_face = PyntCloud.from_file("human_face.ply")
    
    human_face.plot()
    

    对于任何想用Python阅读和显示PLY点云的人,我会回答我自己的问题,报告我发现的最佳解决方案

    打开cmd并键入:

    pip install open3d
    
    这将在您的计算机上安装Open3D,然后您将能够通过执行以下示例脚本来读取和显示PLY点云:

    import numpy as np
    from open3d import *    
    
    def main():
        cloud = read_point_cloud("cloud.ply") # Read the point cloud
        draw_geometries([cloud]) # Visualize the point cloud     
    
    if __name__ == "__main__":
        main()
    
    Try(点处理工具包)。该软件包有一个3-d点云查看器,可直接将3列numpy阵列作为输入,并能以交互方式可视化1000-1亿个点。(通过使用八叉树剔除视锥体外部的点,并将远处的点组近似为单个点,减少了每个帧中需要渲染的点的数量)

    安装,

    >> pip install pptk
    
    要在Python中可视化100个随机生成的点

    >> import pptk
    >> import numpy as np
    >> P = np.random.rand(100,3)
    >> v = pptk.viewer(P)
    


    文档网站还专门提供了一个关于可视化从.ply文件加载的点云的工具。

    您是否可以共享ply文件?您好,按照您的建议执行会导致以下错误:“('Saving point cloud to','out.pcd')Traceback(最近一次调用):文件“”,第1行,在文件“convertcloud/converter.py”中“,第74行,在convert header=self._generate_header(扩展名)文件“convertcloud/converter.py”的第102行,在pcd typ+=types[field.type]+”的第401行,在pcd gen.pcd()文件“convertcloud/formats.py”的第102行,键入错误:u'uchar”“您能否澄清如何将标题中包含X、Y、Z-R、G、B信息的PLY文件转换为相应的PCD文件?我们将非常感谢您的帮助。提前谢谢你,我正在pptk文档中搜索,但是我找不到任何实用程序可以让我在同一个可视化工具中友好地添加和删除PLY。你知道有没有可能做到吗?我试图创建一个动态PLY可视化工具:给定N个PLY文件,每个文件都必须在可视化工具中显示,一个接一个地显示other@Employee假设您已将PLY文件加载到名为
    X
    的列表中,则需要这样做:
    对于X中的X:v=pptk.viewer(X);v、 等待();v、 关闭()
    ?不幸的是,这将在新的查看器中打开每个点云。要在同一个查看器中加载新的点云,您需要使用viewer.load,它目前似乎有缺陷:(在MacOS 10.13.6、Python 3.7.2上未安装。调用pptk.viewer(P)永远不会返回:-(不适用于my on virtual Box一些Linux用户可能需要使用命令pip install open3d pythonAnaconda安装open3d用户打开anaconda提示符并键入:
    conda安装-c open3d admin open3d
    当前open3d仍然缺乏作为点云查看器的许多功能