File IO¶
This tutorial shows how basic data structures are read and written by Open3D.
Point cloud¶
The code below reads and writes a point cloud.
[2]:
print("Testing IO for point cloud ...")
pcd = o3d.io.read_point_cloud("../../test_data/fragment.pcd")
print(pcd)
o3d.io.write_point_cloud("copy_of_fragment.pcd", pcd)
Testing IO for point cloud ...
PointCloud with 113662 points.
[2]:
True
By default, Open3D tries to infer the file type by the filename extension. The following point cloud file types are supported:
Format |
Description |
---|---|
|
Each line contains |
|
Each line contains |
|
Each line contains |
|
The first line is an integer representing the number of points. Each subsequent line contains
|
|
See Polygon File Format, the ply file can contain both point cloud and mesh data |
|
See Point Cloud Data |
It’s also possible to specify the file type explicitly. In this case, the file extension will be ignored.
[3]:
pcd = o3d.io.read_point_cloud("../../test_data/my_points.txt", format='xyz')
Mesh¶
The code below reads and writes a mesh.
[4]:
print("Testing IO for meshes ...")
mesh = o3d.io.read_triangle_mesh("../../test_data/knot.ply")
print(mesh)
o3d.io.write_triangle_mesh("copy_of_knot.ply", mesh)
Testing IO for meshes ...
TriangleMesh with 1440 points and 2880 triangles.
[4]:
True
Compared to the point cloud data structure, a mesh has triangles that define the 3D surface.
By default, Open3D tries to infer the file type by the filename extension. The following mesh file types are supported:
Format |
Description |
---|---|
|
See Polygon File Format, the ply file can contain both point cloud and mesh data |
|
|
|
See Object Files |
|
|
|
Image¶
The code below reads and writes an image.
[5]:
print("Testing IO for images ...")
img = o3d.io.read_image("../../test_data/lena_color.jpg")
print(img)
o3d.io.write_image("copy_of_lena_color.jpg", img)
Testing IO for images ...
Image of size 512x512, with 3 channels.
Use numpy.asarray to access buffer data.
[5]:
True
The size of the image is readily displayed using print(img)
.
Both jpg
and png
image files are supported.