http://www.open3d.org/docs/release/
体素下采样使用常规体素网格从输入点云创建均匀下采样的点云。它通常用作多点云处理任务的预处理步骤。该算法分为两步操作:
1. 点被储存到体素中。
2. 每个被占用的体素通过平均内部所有点而生成一个点。
参数voxel_size为体素大小,该参数越小,降采样得到的结果的点越多。
import open3d as o3d
import numpy as np
print("Load a ply point cloud, print it, and render it")
# 从文件中读取点云
pcd = o3d.io.read_point_cloud('./fragment.ply')
print("Downsample the point cloud with a voxel of 0.05")
downpcd = pcd.voxel_down_sample(voxel_size=0.05)
print(downpcd)
o3d.visualization.draw_geometries([downpcd],
zoom=0.3412,
front=[0.4257, -0.2125, -0.8795],
lookat=[2.6172, 2.0475, 1.532],
up=[-0.0694, -0.9768, 0.2024])
将需要读取的文件放在与该py文件的同级目录下,文件可从文章末尾的某盘中获取
下图为voxel_size为0.05时的结果:
下图为voxel_size为0.02时的结果:
链接:https://pan.baidu.com/s/1V3anL9caeDe6bWgHsrEpTg
提取码:5u7b