使用open3d对异常点云移除,基于统计学异常点移除(Statistical outlier removal)

来源自open3d教程

桌子场景
在这里插入图片描述

import open3d as o3d

def display_inlier_outlier(cloud, ind):
    inlier_cloud = cloud.select_by_index(ind)
    outlier_cloud = cloud.select_by_index(ind, invert=True)

    print("Showing outliers (red) and inliers (gray): ")
    outlier_cloud.paint_uniform_color([1, 0, 0])
    inlier_cloud.paint_uniform_color([0, 1, 0])
    o3d.visualization.draw_geometries([inlier_cloud, outlier_cloud])

pcd = o3d.io.read_point_cloud("data/table_scene_lms400.pcd")
print("Statistical oulier removal")
cl, ind = pcd.remove_statistical_outlier(nb_neighbors=500,std_ratio=2)
display_inlier_outlier(pcd, ind)

版权声明:本文为weixin_43446161原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。