Dear all,
I have converted a xyz point cloud data points to mesh using Poisson surface reconstruction. When I save this in stl format using open3d.io.write_triangle_mesh, it write only in binary format. I also gave (write_ascii = True) option, but still it writes in the binary format. What problem am I doing?
Below is the reference code used for meshing.
from stl import mesh
import copy
pcd = o3d.io.read_point_cloud('meshdata176_right.xyz')
pcd.estimate_normals()
# To obtain consistent normal orientation
pcd.orient_normals_towards_camera_location(pcd.get_center())
# Or to flip normals to make the point cloud outward, not mandatory
pcd.normals = o3d.utility.Vector3dVector(-np.asarray(pcd.normals))
# Surface reconstruction using Poisson reconstruction
mesh, _ = o3d.geometry.TriangleMesh.create_from_point_cloud_poisson(pcd, depth=9)
mesh = o3d.geometry.TriangleMesh.compute_triangle_normals (mesh)
# paint uniform color to better visualize
mesh.paint_uniform_color(np.array([0.7, 0.7, 0.7]))
#o3d.visualization.draw_geometries([mesh])
o3d.io.write_triangle_mesh('mesh176ascii.stl', mesh, write_ascii = True)
It still writes in binary format. Any leads will be appreciated.
Regards,
Sunag R A.