目录
一、概述
1.1原理
1.2应用
二、代码实现
import copy
import open3d as o3d
# 删除点云中的重叠点
def remove_duplicates(pcd, voxel_size=0.01):
pcd2 = copy.deepcopy(pcd)
# 通过体素下采样删除重叠点
pcd2 = pcd2.voxel_down_sample(voxel_size)
return pcd2
pcd = o3d.io.read_point_cloud("test.pcd")
o3d.visualization.draw_geometries([pcd])
# 删除重叠点
pcd_without_duplicates = remove_duplicates(pcd)
print("原始点云个数:", pcd)
print("去重之后:", pcd_without_duplicates)
pcd.paint_uniform_color([1, 0, 0])
pcd_without_duplicates.paint_uniform_color([0, 1, 0])
o3d.visualization.draw_geometries([pcd,pcd_without_duplicates])
三、实现效果
3.1原始点云
3.2处理后点云
3.3数据对比
原始点云个数: PointCloud with 2400 points.
去重之后: PointCloud with 1999 points.