(2)点云库处理学习——剔除点云值

news2024/11/24 12:46:09

1、主要参考

1.1参考地址

(1)

点云离群点剔除 — open3d python_Coding的叶子的博客-CSDN博客_离群点去除

(2)

open3d之点云异常值去除(笔记5)_Satellite_H的博客-CSDN博客

(3)斯坦福经典兔子的点云数据下载地址

下载地址

Model : Bunny

1.2兔子的实验

(1)代码

import open3d as o3d
import numpy as np
# from copy import deepcopy
# from matplotlib import pyplot as plt

path = "D:/RGBD_CAMERA/python_3d_process/bunny.ply"
pcd = o3d.io.read_point_cloud(path)  # path为文件路径

# o3d.io.write_point_cloud("chenbunny.pcd",pcd)  #可以保存数据,或者修改为其它格式的如pcd

o3d.visualization.draw_geometries([pcd])

(2)通过键盘的+和-可以控制点云大小,鼠标可以滚动视角

2、剔除的方法 

2.1无效值剔除

详见我的上一篇blob

(1)点云库PCL学习——点云的格式、PCD文件的打开和显示_chencaw的博客-CSDN博客

 无效值包括空值和无限值。空值一般用NaN表示。open3d中对应的剔除函数为remove_non_finite_points。当remove_nan为True时,剔除空值。当remove_infinite为True时表示去除无限值。 

2.2统计方式剔除

(1)函数的具体定义

remove_statistical_outlier(nb_neighbors,std_ratio,print_progress = False)

该函数用于删除距离其邻居较远的点

(2)参数定义

  1.  nb_neighbors : 目标点周围的点数。它指定考虑多少邻居来计算给定点的平均距离。
  2. std_ratio : std_ratio标准差比率。它允许根据跨点云的平均距离的标准偏差设置阈值级别。这个数字越低,过滤器就越激进。
  3. print_progress : 为True时,可以显示处理进度 打印进度条

 (3)测试代码

import open3d as o3d
import numpy as np
from copy import deepcopy

##--(1)去除无效值------------------
path = "D:/RGBD_CAMERA/python_3d_process/1_hezi.pcd"
pcd = o3d.io.read_point_cloud(path)  # path为文件路径
# pcd.paint_uniform_color([0, 0, 1])#指定显示为蓝色
pcd = pcd.remove_non_finite_points(remove_nan = True, remove_infinite = False)  #剔除无效值nan

##--(2)统计方法剔除-----------------
##--拷贝一波,对比一起显示--chen 20221129
pcd2 = deepcopy(pcd)
# pcd2.paint_uniform_color([1, 0, 0])#指定显示为蓝色
pcd2.translate((0, 800, 0)) #整体进行y轴方向平移
res2 = pcd2.remove_statistical_outlier(20, 0.5, print_progress = False)#统计方法剔除
# res2 = pcd2.remove_statistical_outlier(20, 0.1, print_progress = False)#统计方法剔除
# res2 = pcd2.remove_statistical_outlier(20, 0.01, print_progress = False)#统计方法剔除
# res2 = pcd2.remove_statistical_outlier(50, 0.1, print_progress = False)#统计方法剔除
pcd2 = res2[0]  #返回点云,和点云索引

##--(3)显示一下-----------------
o3d.visualization.draw_geometries([pcd,pcd2],      #点云列表
                                      window_name="离群点剔除对比显示",
                                      point_show_normal=False)  # 窗口高度
# o3d.visualization.draw_geometries([pcd,pcd2],      #点云列表
#                                       window_name="离群点剔除对比显示",
#                                       point_show_normal=False,
#                                       width=800,  # 窗口宽度
#                                       height=600)  # 窗口高度

(4)测试结果,

1)左图的参数(20, 0.5)

 2)左图的参数(20, 0.1)

 3)左图的参数(20, 0.01)

 4)左图参数(50, 0.1)

2.3 半径滤波方式剔除

(1)函数

remove_radius_outlier(nb_points, radius,print_progress = False)

函数功能:删除给定半径的给定球体中小于 nb_points 的点的函数

(2)参数说明

nb_points (int)半径内的点数。它允许您选择球体应包含的最少点数

radius (float)球体半径。它定义了将用于计算邻居的球体的半径

print_progress (bool, optional, default=False)设置为 True 以打印进度条

(3)测试代码

(4)测试结果

1)左图的统计滤波参数(20, 0.5),中间为原图,右侧半径滤波参数(20,2)

 2)左图的统计滤波参数(20, 0.5),中间为原图,右侧半径滤波参数(10,2)

 3)左图的统计滤波参数(20, 0.5),中间为原图,右侧半径滤波参数(10,5)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/45922.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

3D视觉识别案例:3D无序棒料抓取,阀体圆环上下料,电机定子上料

3D无序棒料抓取 某知名汽车行业 项目背景 长春某知名汽车行业,需求3D视觉实现圆形棒材的上料自动化。 作业流程 钢棒依次经过剪切/锯切下料,从深筐中抓取,先放置在V型二次定位平台上,再从平台抓到输送线上,目标工…

[附源码]SSM计算机毕业设计新冠疫苗线上预约系统JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

超算,先进计算未来的研究方向有哪些?

超算是一个非常有趣的方向,当人们仰天长望思索宇宙大爆炸和起源时,超算便成为了非常重要的一个研究途径,利用超算平台对中国FAST天眼射电望远镜捕捉到的海量信号进行分析和处理,帮助中科院探索发现了诸如脉冲星、最大原子气体、快…

如何将报告从 JasperReports 导入到 FastReport .NET?

FastReport.NET官方版下载 我们在 JasperReports 添加了一个新的导入功能,如果要使用它,需要到 FastReport .NET 设计器中的“文件”菜单并选择“打开...”。在出现的窗口中,选择过滤器“JasperReports 文件 (*.jrxml)”。所选文件将自动转换…

基于Apache-DButils以及Druid(德鲁伊)与数据库交互实现的一个项目:满汉楼

基于Apache-DButils以及Druid(德鲁伊)与数据库交互实现的一个项目:满汉楼 每博一文案 张小贤曾说过: 你不过是做自己喜欢做的事,过自己喜欢过的生活。 若有人因为你喜欢做的事而觉得恶心和取笑你,那是他们的事。是呀,生活是苦&am…

蓝海创意云亮相2022南京融交会,打造沉浸式元宇宙互动体验

11月24日,2022中国(南京)文化和科技融合成果展览交易会在南京国际展览中心正式开幕,展会聚焦文化数字化战略,集中展示文化数据专网、数字化公共文化服务、“元宇宙”等数字文化新基建、新服务、新场景、新体验。 苏州…

第十三章《集合》第3节:Set集合

Set也是Collection的子接口,它定义了另一种形式的集合,专业上称之为Set集合。Set集合的特点如图13-9所示。 图13-9 Set类型集合 从图13-9可以看出:Set类型的集合就像是一个装苹果的筐子,程序员只要把元素存入这个筐子即可。集合中的元素像是胡乱堆积在一起,因此元素没有索…

迷宫-蓝桥云课,python实现

X 星球的一处迷宫游乐场建在某个小山坡上。它是由 10 \times 101010 相互连通的小房间组成的。 房间的地板上写着一个很大的字母。我们假设玩家是面朝上坡的方向站立,则: LL 表示走到左边的房间,RR 表示走到右边的房间,UU 表示走…

HTTPS —— HTTPS的加密方式

JavaEE传送门JavaEE HTTP —— HTTP 协议中的细节(超详细!!) HTTP —— HTTP 响应详解, 构造 HTTP 请求 目录HTTPS"加密"对称加密非对称加密证书总结HTTPS “加密” 明文: 要传递的原始信息 密文: 经过加密后的信息 密钥: 将明文加密的方法 (在加密和解密中起到…

京东APP技术解密:移动端秒级配置触达平台-Switchquery

原文已同步发表在京东零售技术公众号:mp.weixin.qq.com/s/hvsFwsQHT… 一 背景 随着移动互联网的快速发展,为满足各类用户及人群的体验需求,移动端的开发者们开发了丰富多彩的体验与功能。同时对于快速控制各类功能的切换、灰度,降级等能力…

纠正一下网上文章所说“利用RPC绕过CFG”的错误说法

纠正误区 网上说“利用RPC绕过CFG”的说法是不正确的,我先给出自己的观点,后面再说我的分析。网上有好几篇分析CVE-2021-26411的文章,对绕过CFG一律都说是利用RPC。其实在这个漏洞场景下,攻击者只不过是借助RPC获得执行任意系统函…

Nginx配置Https证书

大致的流程如下 1.申请Https证书,绑定域名信息; 如果您有自己的服务器或者购买云服务器,可在相关方平台申请SSL证书,申请后下载相关证书文件即可,如下图: 解压缩后发现可以得到如下文件: 由于我们要使用Nginx配置SSL…

美团面试应届生第二问:Volatile有什么作用?

文章目录volatile有什么作用?可见性证明指令重排证明不能保证原子性证明Volatile与Synchronized的区别volatile有什么作用? 保证线程的可见性禁止指令重排但是不能保证原子性 可见性证明 有如下静态成员变量num,初始值为0;有两…

Nginx的配置

1运行中的Nginx进程间的关系 1.在正式提供服务的产品环境下,部署Nginx时都是使用一个master进程来管理多个worker进程,一般情况下,worker进程的数量与服务器上的CPU核心数相等。每一个worker进程都是繁忙的,它们在真正地提供互联…

RabbitMQ 快速入门-消息的收发

RabbitMQ 快速入门-消息的收发准备工作一、Connection 方式1. 生产者测试类2. 消费者测试类注意二、RabbitTemplate 方式1. 生产者测试类2. 创建队列3. 消费者注意准备工作 推荐创建两个 SpringBoot 项目,一个作为生产者,另一个作为消费者 也可使用 Ma…

数据趣事:历史最高温的是新疆吐鲁番?重庆45℃高温仅排全国第二

全球最冷的地方在哪?最热的又在哪?中国最冷的城市不是哈尔滨而是意想不到的的乌鲁木齐,历史上最高温的省市不是重庆而是新疆吐鲁番......跟随天气最趣事儿大屏一起了解有趣的天气数据吧! 最高温的省市是新疆吐鲁番,曾…

设置线程分离的方法

线程分离的设置方法 1)在创建线程时,利用thread_create函数的参2设置线程分离; 2)创建完线程后,通过pthread_detach函数设置线程分离。 第一种方法效率最高的。 1、创建线程时,设置线程分离 (1)使用 pth…

基于RK3568开源鸿蒙的助农金融服务终端设计方案

背景 2022年中央一号文件《中共中央 国务院关于做好2022年全面推进乡村振兴重点工作的意见》提出,要强化乡村振兴金融服务;《“十四五”推进农业农村现代化规划》强调,健全农村金融服务体系,将“乡村振兴金融服务行动”列入新一轮…

基于杂草优化算法的线性规划问题求解matlab程序

基于杂草优化算法的线性规划问题求解matlab程序 1 杂草算法简介 1.1 IWO定义 IWO是2006年由A. R. Mehrabian等提出的一种从自然界杂草进化原理演化而来的随机搜索算法,模仿杂草入侵的种子空间扩散、生长、繁殖和竞争性消亡的基本过程,具有很强的鲁棒性和…

文本检测与识别技术的应用现状及产业案例

文本检测与识别技术的产业应用现状 文本是人类文明的视觉和物理载体,文本的检测和识别使视觉与对其内容的理解进一步联系起来。在这一部分中,我们列出并分析了对提高我们的生产力和生活质量产生或将产生重大影响的最杰出的项目。 自动数据录入&#xff…