当前位置:   article > 正文

Open3d之文件IO_o3d.io.write_point_cloud

o3d.io.write_point_cloud

文件IO

本教程介绍了Open3D如何读写基本数据结构。

点云(Point Cloud)

下面读取和写入点云的实力。

  1. # -*-coding:utf-8 -*-
  2. import open3d as o3d
  3. # 读取点云
  4. pcd = o3d.io.read_point_cloud("fragment.pcd")
  5. # 打印点云的摘要信息
  6. print(pcd)
  7. # 写点云
  8. o3d.io.write_point_cloud("copy_of_fragment.pcd", pcd)


默认情况下,Open3D尝试通过文件扩展名来推断文件类型。 支持以下点云文件类型:

FormatDescription
xyz每一行包括 [x,y,z] 三个值,x,y,z 是三维坐标
xyzn每一行包括 [x,y,z,nx,ny,nz] 六个值,其中nx,ny,nz 是法线
xyzrgb每一行包括 [x,y,z,r,g,b] 六个值,这里r,g,b的范围在[0,1]浮动
pts第一行是一个整数,表示点的个数。之后每一行包括 [x,y,z,i,r,g,b] 七个值,其中rgb的类型为uint8
ply这个格式可以包含点云和网格数据,详情请参考这个链接
pcd详情请参考链接

也可以显示的指定文件类型,这样将会忽略文件扩展名。

pcd =o3d.io.read_point_cloud("fragment.txt",format='xyz')

网格(Mesh

通过以下代码可以读写网格数据。

  1. # -*-coding:utf-8 -*-
  2. import open3d as o3d
  3. # 读取网格
  4. mesh = o3d.io.read_triangle_mesh("knot.ply")
  5. # 打印网格的摘要信息
  6. print(mesh)
  7. # 写网格
  8. o3d.io.write_triangle_mesh("copy_of_knot.ply",mesh)

与点云的数据结构相比,网格(mesh)数据具有定义三维曲面的三角形。与点云数据一样,会自动通过文件类型推断,支持的mesh数据格式如下。

格式描述
ply同点云
stl请看链接
obj请看链接
off请看链接
gltf请看链接

图像(Image)

通过以下代码可以读写图像数据

  1. # -*-coding:utf-8 -*-
  2. import open3d as o3d
  3. # 读取图片
  4. img = o3d.io.read_image("/home/pi/Desktop/pcl/Open3D/examples/test_data/lena_color.jpg")
  5. # 打印图片的摘要信息
  6. print(img)
  7. # 写图片
  8. o3d.io.write_image("copy_of_lena_color.jpg", img)

使用print(img)可以很容易的显示图像的大小。

同时支持jpg和png图像文件。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/95589
推荐阅读
相关标签
  

闽ICP备14008679号