pyntcloud處理 3D 點(diǎn)云的 Python 庫
pyntcloud 是一個 Python 3 庫,用于利用 Python 科學(xué)堆棧的強(qiáng)大功能處理 3D 點(diǎn)云。
安裝
conda install pyntcloud -c conda-forge
或者:
pip install pyntcloud
快速概覽
開發(fā)者可以從其核心類 PyntCloud 訪問 pyntcloud 的大部分功能。
使用 PyntCloud,您可以用最少的代碼行執(zhí)行復(fù)雜的 3D 處理操作。例如:
- 從磁盤加載 PLY 點(diǎn)云
- 通過將 RGB 轉(zhuǎn)換為 HSV,添加 3 個新的標(biāo)量字段
- 從點(diǎn)云構(gòu)建 voxels 網(wǎng)格
- 構(gòu)建一個新的點(diǎn)云,只保留與每個占用 voxels 中心最近的點(diǎn)
- 以 numpy 的 NPZ 格式保存新的點(diǎn)云
使用以下簡潔的代碼:
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 處理庫的無縫集成。
開發(fā)者可以使用 from_instance / to_instance 方法從/到許多 3D 處理庫創(chuàng)建/轉(zhuǎn)換 PyntCloud 實(shí)例:
- 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)
評論
圖片
表情
