Open3d之文件IO

文件IO

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

点云(Point Cloud)

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

# -*-coding:utf-8 -*-

import open3d as o3d

# 读取点云
pcd = o3d.io.read_point_cloud("fragment.pcd")
# 打印点云的摘要信息
print(pcd)
# 写点云
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)

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

# -*-coding:utf-8 -*-

import open3d as o3d

# 读取网格
mesh = o3d.io.read_triangle_mesh("knot.ply")
# 打印网格的摘要信息
print(mesh)
# 写网格
o3d.io.write_triangle_mesh("copy_of_knot.ply",mesh)

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

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

图像(Image)

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

# -*-coding:utf-8 -*-

import open3d as o3d

# 读取图片
img = o3d.io.read_image("/home/pi/Desktop/pcl/Open3D/examples/test_data/lena_color.jpg")
# 打印图片的摘要信息
print(img)
# 写图片
o3d.io.write_image("copy_of_lena_color.jpg", img)

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

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

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值