Python 在Open3D中,是否有一种方法可以在同一点云中可视化两个或更多的点子集?

Python 在Open3D中,是否有一种方法可以在同一点云中可视化两个或更多的点子集?,python,3d,open3d,Python,3d,Open3d,我有一个由900多万个三维点组成的矩阵。使用RANSAC,我希望能够在点集中对屋顶进行分类。为了减少时间和提高RANSAC的使用,我在一个小社区(约5000-10000)点。通过使用ransac,其中一些点将被分类为屋顶,我保留索引 要可视化这些点,我使用Open3D。因此,我跟踪用于区分屋顶和地形的索引 roof = Roofs() # Return list 1xn pcd = o3d.io.read_point_cloud("data01.ply") # File w

我有一个由900多万个三维点组成的矩阵。使用RANSAC,我希望能够在点集中对屋顶进行分类。为了减少时间和提高RANSAC的使用,我在一个小社区(约5000-10000)点。通过使用ransac,其中一些点将被分类为屋顶,我保留索引

要可视化这些点,我使用Open3D。因此,我跟踪用于区分屋顶和地形的索引

roof = Roofs() # Return list 1xn 
pcd = o3d.io.read_point_cloud("data01.ply") # File with original data
roofs = pcd.select_by_index(roof) # Seperate roofs and terrain
roofs.paint_uniform_color([0, 0, 1]) # Paint roofs red
not_roofs = pcd.select_by_index(roof, invert=True)
o3d.visualization.draw_geometries([roofs, not_roofs]) # Draw point cloud
要使用此方法,我必须循环遍历每个点的完整数据集以找到索引。这当然真的很慢。是否有一种方法可以让Open3D接收2个或更多矩阵,并在同一点云中可视化它们?或者有没有更快的方法在原始数据中查找点的索引?或者您知道一种更好的点可视化工具,可以管理约1000万个点