采样后的点排列看上去会很整齐均匀,但是位置和之前相比有轻微的移动。
体素下采样使用常规体素网格从输入点云创建均匀下采样的点云。 它通常用作多点云处理任务的预处理步骤。该算法分为两步操作: 1. 点被储存到体素中。 2. 每个被占用的体素通过平均内部所有点的坐标而生成一个点。 参数voxel_size为体素大小,该参数越小,降采样得到的结果的点越多, 该方法的缺陷是会改变原有点的坐标, 因为下采样之后的点是通过平均计算得到的。
# coding:utf-8
import numpy as np
import open3d as o3d
print("->正在加载点云... ")
point_cloud = o3d.io.read_point_cloud("kitti_p.pcd")
print(point_cloud)
point_cloud2 = point_cloud.voxel_down_sample(voxel_size=0.5) # voxel_down_sample 把点云分配在三维的网格中取平均值
o3d.visualization.draw_geometries([point_cloud2], window_name="wechat 394467238 ")