pyntcloud处理 3D 点云的 Python 库
pyntcloud 是一个 Python 3 库,用于利用 Python 科学堆栈的强大功能处理 3D 点云。
安装
conda install pyntcloud -c conda-forge
或者:
pip install pyntcloud
快速概览
开发者可以从其核心类 PyntCloud 访问 pyntcloud 的大部分功能。
使用 PyntCloud,您可以用最少的代码行执行复杂的 3D 处理操作。例如:
- 从磁盘加载 PLY 点云
- 通过将 RGB 转换为 HSV,添加 3 个新的标量字段
- 从点云构建 voxels 网格
- 构建一个新的点云,只保留与每个占用 voxels 中心最近的点
- 以 numpy 的 NPZ 格式保存新的点云
使用以下简洁的代码:
from pyntcloud import PyntCloud cloud = PyntCloud.from_file("some_file.ply") cloud.add_scalar_field("hsv") voxelgrid_id = cloud.add_structure("voxelgrid", n_x=32, n_y=32, n_z=32) new_cloud = cloud.get_sample("voxelgrid_nearest", voxelgrid_id=voxelgrid_id, as_PyntCloud=True) new_cloud.to_file("out_file.npz")
与其他库的集成
pyntcloud 提供与其他 3D 处理库的无缝集成。
开发者可以使用 from_instance / to_instance 方法从/到许多 3D 处理库创建/转换 PyntCloud 实例:
- Open3D
import open3d as o3d from pyntcloud import PyntCloud # FROM Open3D original_triangle_mesh = o3d.io.read_triangle_mesh("diamond.ply") cloud = PyntCloud.from_instance("open3d", original_triangle_mesh) # TO Open3D cloud = PyntCloud.from_file("diamond.ply") converted_triangle_mesh = cloud.to_instance("open3d", mesh=True) # mesh=True by default
import pyvista as pv from pyntcloud import PyntCloud # FROM PyVista original_point_cloud = pv.read("diamond.ply") cloud = PyntCloud.from_instance("pyvista", original_point_cloud) # TO PyVista cloud = PyntCloud.from_file("diamond.ply") converted_triangle_mesh = cloud.to_instance("pyvista", mesh=True)
评论