我有一个.PLY文件,其中包含3D点云:我想绘制它并用Python对其进行可视化。 .PLY文件仅包含顶点,而不包含面。
您能告诉我一个简单的Python库,该库将负责绘制3D点云吗?
重要的一点是,我对绘制网格不感兴趣,而对点云不感兴趣。
答案 0 :(得分:6)
对于想用简便方法来阅读和显示Python中的PLY点云的人,我回答了我自己的问题,报告了我发现的最佳解决方案我的情况。
打开cmd并输入:
pip install open3d
这将在您的计算机上安装Open3D,然后您只需执行以下示例脚本即可读取和分配PLY点云:
import numpy as np
from open3d import *
def main():
pcd = read_point_cloud("test.ply") # Read the point cloud
draw_geometries([pcd]) # Visualize the point cloud
if __name__ == "__main__":
main()
答案 1 :(得分:6)
尝试pptk(点处理工具包)。该软件包具有一个3-d点云查看器,该查看器直接将3列numpy数组作为输入,并且能够交互式地可视化10到1亿个点。 (通过使用八叉树剔除视锥面外的点并将近似的远点组近似为单个点,它减少了每帧需要渲染的点的数量。
要安装,
>> pip install pptk
要在Python中可视化100个随机生成的点,
>> import pptk
>> import numpy as np
>> P = np.random.rand(100,3)
>> v = pptk.viewer(P)
screenshot of pptk viewer visualizing 100 random points
文档网站上还有一个tutorial,专门用于可视化从.ply文件加载的点云。
答案 2 :(得分:1)
您可以使用https://github.com/daavoo/pyntcloud来可视化Jupyter笔记本中的PLY:
from pyntcloud import PyntCloud
human_face = PyntCloud.from_file("human_face.ply")
human_face.plot()
答案 3 :(得分:0)
您可以使用vtk,它具有python绑定到 just 显示。 Code snippet
如果要使用numpy等处理数据,我建议执行以下步骤:
pcl_ply2pcd input.ply output.pcd -format 0
如果您想留在pcl世界中,可以使用python-pcl模块,其中包含与库的绑定。
如果其中之一符合您的需求,我可以进一步详细说明。