博客
关于我
【点云StatisticalOutlierFilter】python-pcl:去除离群点
阅读量:204 次
发布时间:2019-02-28

本文共 779 字,大约阅读时间需要 2 分钟。

点云去除离群点

方法:使用K近邻方法进行点云处理,通过计算标准距离筛选离群点。具体实现如下:

原理:K近邻算法用于确定每个点的邻近点数,计算标准距离。设置离群点的标准为距离超过标准距离乘以系数后的点数。

结果:将点云分为内点和离群点两部分。通过设置参数,可选保存离群点或保留内点的点云文件。

官方示例效果表现为:通过去除柱子腿周围的离散点,显著清洁了点云数据。

注意:在实际应用中,点云密度较大时,效果可能会受到影响,建议根据具体需求调整参数。

import pcldef main():    # 加载点云数据    p = pcl.load("D:/tests/tutorials/table_scene_lms400.pcd")        # 初始化滤镜并设置参数    fil = p.make_statistical_outlier_filter()    fil.set_mean_k(50)  # 设置近邻点数    fil.set_std_dev_mul_thresh(1.0)  # 设置标准差倍数        # 过滤并保存内点    inlier_cloud = fil.filter()    pcl.save(inlier_cloud, "D:/tests/tutorials/table_scene_lms400_inliers.pcd")        # 设置保存离群点    fil.set_negative(True)    outlier_cloud = fil.filter()    pcl.save(outlier_cloud, "D:/tests/tutorials/table_scene_lms400_outliers.pcd")if __name__ == "__main__":    main()

转载地址:http://oaai.baihongyu.com/

你可能感兴趣的文章
Oracle 升级10.2.0.5.4 OPatch 报错Patch 12419392 Optional component(s) missing 解决方法
查看>>
oracle 去重
查看>>
oracle 可传输的表空间:rman
查看>>
Oracle 启动监听命令
查看>>
Oracle 启动阶段 OPEN
查看>>
Oracle 在Drop表时的Cascade Constraints
查看>>
Oracle 在Sqlplus 执行sql脚本文件。
查看>>
Oracle 如何处理CLOB字段
查看>>
oracle 学习
查看>>
oracle 定义双重循环例子
查看>>
ORACLE 客户端工具连接oracle 12504
查看>>
Oracle 客户端连接时报ORA-01019错误总结
查看>>
oracle 导出sql数据库表结构,使用sql developer 导出Oracle数据库中的表结构
查看>>
oracle 嵌套表 例子,Oracle之嵌套表(了解)
查看>>
Oracle 常用命令
查看>>
Oracle 常用的V$视图脚本(二)
查看>>
Oracle 并行原理与示例总结
查看>>
oracle 并集 时间_Oracle集合运算符 交集 并集 差集
查看>>
Oracle 序列sequence 开始于某个值(10)执行完nextval 发现查出的值比10还小的解释
查看>>
ORACLE 异常错误处理
查看>>