I try to convert a 3D point cloud to mesh using Open3D. I have ~138000 points in the cloud, and I would like to know how much it might take to convert.
point_cloud = np.loadtxt(points3D.txt, skiprows=3, usecols=[1, 2, 3, 4, 5, 6])
pcd = o3d.geometry.PointCloud()
pcd.points = o3d.utility.Vector3dVector(point_cloud[:,:3])
pcd.colors = o3d.utility.Vector3dVector(point_cloud[:,3:6]/255)
pcd.estimate_normals(search_param=o3d.geometry.KDTreeSearchParamHybrid(radius=0.1, max_nn=30))
distance = pcd.compute_nearest_neighbor_distance()
avg_dist = np.mean(distance)
radius = 3 * avg_dist
bpa_mesh = o3d.geometry.TriangleMesh.create_from_point_cloud_ball_pivoting(
pcd, o3d.utility.DoubleVector([radius, radius * 2]))
How to make this process faster?