pcd = o3d.io.read_point_cloud('点云文件路径', format='auto', remove_nan_points=True, remove_infinite_points=True, print_progress=False)
返回类型
<class 'open3d.cpu.pybind.geometry.PointCloud'>
输出点云个数
print(pcd)
以下是该函数的参数介绍(大部分用不上, 红色使用):
filename (str):要读取的点云文件的路径。
format (str, optional):要读取的文件的格式。默认为 None
,此时 Open3D 将根据文件的扩展名自动确定文件格式。支持的格式包括 'auto'
, 'xyz'
, 'xyzn'
, 'pts'
, 'ptx'
, 'ply'
, 'pcd'
, 'xyzrgb'
, 'xyznrgb'
, 'xyzbgr'
, 'xyzrgb+'
, 'vtp'
, 'vtu'
, 'obj'
, 'gltf'
等。如果指定了格式,Open3D 将尝试以指定的格式读取文件,而不是根据扩展名自动确定。
remove_nan_points (bool, optional):是否删除包含 NaN(Not a Number)值的点。默认为 True
,即删除包含 NaN 值的点。
(补充:在点云中,NAN(Not a Number)表示一个无效的数字或值,通常是由于数据输入错误、计算错误或其他问题导致的。NAN点可能表示一个不存在的点、一个超出点云范围的点、一个无效的坐标值等。)
remove_infinite_points (bool, optional):是否删除包含无穷值的点。默认为 True
,即删除包含无穷值的点。
print_progress (bool, optional):是否打印读取进度信息。默认为 False
,不打印。
点云数据支持类型
格式 | 描述 |
---|---|
xyz |
每一行包含[x,y,z] ,其中x,y,z 是三维坐标 |
xyzn |
每一行包含[x,y,z,nx,ny,nz] ,其中x,y,z 是三维坐标,nx,ny,nz 是法向量 |
xyzrgb |
每一行包含[x,y,z,r,g,b] ,其中x,y,z 是三维坐标,r,g,b 是颜色信息,取值范围是[0,1] |
pts |
第一行是表示点数的整数。随后的行遵循以下一种格式:[x,y,z,i,r,g,b],[x,y,z,r,g,b],[x,y,z,i]或[x,y,z], ,其中x,y,z,i 是double 类型,r,g,b 是unint8 类型 |
ply |
见:多边形文件格式,ply 文件可同时包含点云和网格数据 |
pcd |
见:点云数据 |
images = o3d.io.read_image('图像路径')
返回类型
<class 'open3d.cpu.pybind.geometry.Image'>
图像信息
print(images)
以下是该函数的参数介绍(大部分用不上, 红色使用):
numpy.uint8
。False
,即不打印。图像数据支持类型
Open3D 支持使用 OpenCV (cv2
) 和 Pillow (PIL
) 两种库来读取图像文件。因此,支持的图像类型包括但不限于:
JPEG (.jpg, .jpeg)、PNG (.png)、BMP (.bmp)等。如果安装了适当的依赖库(OpenCV 或 Pillow),o3d.io.read_image
应该能够读取大多数常见的图像格式。
网格读取条件
open3d.io.read_triangle_mesh()
函数读取网格文件。mesh = o3d.io.read_triangle_mesh()
以下是该函数的参数介绍(大部分用不上, 红色使用):
filename:要读取的文件的路径。
format
(optional):文件格式。默认为自动检测。可以是以下值之一:
"auto"
:自动检测文件格式。"ply"
:PLY 格式。"obj"
:OBJ 格式。"stl"
:STL 格式。"off"
:OFF 格式。"xyz"
:XYZ 格式。remove_duplicated_vertices (optional):如果为 True
,则在读取网格时删除重复的顶点。默认为 True
。
remove_duplicated_triangles (optional):如果为 True
,则在读取网格时删除重复的三角形。默认为 True
。
remove_non_manifold_edges (optional):如果为 True
,则在读取网格时删除非流形边。默认为 True
。
点云数量和三角网格数量
print(mesh)
点云返回类型
<class 'open3d.cpu.pybind.geometry.TriangleMesh'>
o3d.io.write_point_cloud('保存文件路径', '点云数据', write_ascii=False, compressed=False, print_progress=False)
以下是该函数的参数介绍(大部分用不上, 红色使用):
open3d.geometry.PointCloud
):要写入的点云对象。False
,即以二进制格式写入文件。False
,即不使用压缩。False
,不打印。o3d.io.write_image('保存路径', 图像)
以下是该函数的参数介绍(大部分用不上, 红色使用):
o3d.io.write_triangle_mesh("mesh路径”, mesh数据)
以下是该函数的参数介绍(大部分用不上, 红色使用):
open3d.geometry.TriangleMesh
。True
,则以 ASCII 格式写入文件。默认为 False
,以二进制格式写入文件。o3d.visualization.draw_geometries(['点云数据', '第二个点云数据', '...'],window_name='Open3D界面', width=1920, height=1080, left=50, top=50, point_show_normal=False, mesh_show_wireframe=False, mesh_show_back_face, *args, **kwargs)
以下是该函数的参数介绍(大部分用不上, 红色使用居多):
geometries
:必需参数,要可视化的几何对象列表(点云数据)。window_name
:窗口的名称,可选参数,默认为 “Open3D”。width
:窗口的宽度,可选参数,默认为 1920 像素。height
:窗口的高度,可选参数,默认为 1080 像素。left
:窗口在屏幕上的左侧位置,可选参数,默认为 50。top
:窗口在屏幕上的顶部位置,可选参数,默认为 50。point_show_normal
:是否显示点云法向量,可选参数,默认为 False。mesh_show_wireframe
:是否以线框模式显示网格,可选参数,默认为 False。mesh_show_back_face
:是否显示网格的背面,可选参数,默认为 True。lookat
:相机观察的目标点,可选参数,默认为 [0, 0, 0]。up
:相机的上方向,可选参数,默认为 [0, 0, 1]。field_of_view
:相机的视场角,可选参数,默认为 60。zoom
:相机的缩放级别,可选参数,默认为 0.8。front
:相机到近裁剪平面的距离,可选参数,默认为 0.1。back
:相机到远裁剪平面的距离,可选参数,默认为 10000。view_control
:设置视图控制器,可选参数,默认为 None。bg_color
:背景颜色,可选参数,默认为黑色 [0, 0, 0]。return_images
:是否返回渲染的图像,可选参数,默认为 False。同点云显示一样滴!
同点云显示一样滴!
pcd文件展示
等。。。
包括 obj
,pcd
,las
,png
,ply
百度网盘链接:https://pan.baidu.com/s/1JFxKUk_xMcEmpfBHtuC-Pg
提取码:cpev