赞
踩
本教程介绍了Open3D如何读写基本数据结构。
下面读取和写入点云的实力。
- # -*-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尝试通过文件扩展名来推断文件类型。 支持以下点云文件类型:
Format | Description |
---|---|
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')
通过以下代码可以读写网格数据。
- # -*-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数据格式如下。
通过以下代码可以读写图像数据
- # -*-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图像文件。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。