Open3D通过索引提取点云

目录

一、概述

二、代码实现

2.1关键函数

2.2 完整代码

三、实现效果

3.1原始点云

3.2提取后点云


一、概述

        在 Open3D 中,通过索引提取点云是一种常见且有效的操作,特别适用于需要处理点云子集的场景,例如提取特定区域的点、降采样、或者进行其他的后续处理。Open3D 提供了 select_by_index 方法来根据索引提取点云的子集。这个方法可以接受一个整数索引的列表,根据列表中的索引值提取对应的点云部分。

二、代码实现

2.1关键函数

Open3D中的select_by_index()使用二进制掩码只输出选定的点或非选定的点。

  • inlier_cloud = cloud.select_by_index(m_ind)提取索引对应的点;
  • outlier_cloud = cloud.select_by_index(m_ind, invert=True)提取索引之外的点。
def select_by_index(self, indices, invert=False): # real signature unknown; restored from __doc__
        """
        select_by_index(self, indices, invert=False)
        
        Function to select points from input pointcloud into output pointcloud.
        
        Args:
            indices (List[int]): Indices of points to be selected.
            invert (bool, optional, default=False): Set to ``True`` to invert the selection of indices.
        
        Returns:
            open3d.cpu.pybind.geometry.PointCloud
        """

注意事项

  • 索引范围:确保索引列表中的值在点云中存在对应的点。否则,会导致错误或空的子集。
  • 灵活性:可以根据需要生成任意数量和类型的索引,例如提取连续的点、随机选择的点或者基于特定条件的点。

2.2 完整代码

import open3d as o3d
import numpy as np

# 加载点云数据
pcd = o3d.io.read_point_cloud("bunny.pcd")

# 可视化原始点云
o3d.visualization.draw_geometries([pcd], window_name='Original Point Cloud')

# 生成前1000个点的索引
num_points = 1000
indices_first_1000 = list(range(num_points))

# 使用索引提取点云子集
subset_pcd_first_1000 = pcd.select_by_index(indices_first_1000)

# 可视化提取的前1000个点
o3d.visualization.draw_geometries([subset_pcd_first_1000], window_name='First 1000 Points')

# 获取点云中的所有点数
total_points = len(pcd.points)

# 随机选择1000个点的索引
indices_random_1000 = np.random.choice(total_points, num_points, replace=False)

# 使用索引提取点云子集
subset_pcd_random_1000 = pcd.select_by_index(indices_random_1000)

# 可视化提取的随机1000个点
o3d.visualization.draw_geometries([subset_pcd_random_1000], window_name='Random 1000 Points')

三、实现效果

3.1原始点云

3.2提取后点云

前1000个点

随机提取的1000个点

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CPsyCoun:心理咨询多轮对话自动构建及评估方法

CPsyCoun: A Report-based Multi-turn Dialogue Reconstruction and Evaluation Framework for Chinese Psychological Counseling 在大模型应用于心理咨询领域,目前开源的项目有: https://github.com/SmartFlowAI/EmoLLM (集合,…

query2doc:用大模型做query检索拓展

原文: 前沿重器[38] | 微软新文query2doc:用大模型做query检索拓展 比较主流的检索方案: 字面检索(sparse,稀疏)向量检索(dense,稠密) query对文档文段的召回&#xff…

如何在Ubuntu上安装WordPress

如何在Ubuntu上安装WordPress 执行系统更新 apt update && apt upgrade第一步 安装 Apache apt install apache2确认 Apache 安装是否成功. systemctl status apache2安装成功后 打开浏览器输入 http://server-ip-address 第二步 安装 MySQL apt install mariad…

大模型揭秘:AI与CatGPT在实体识别中的创新应用

摘要 尽管大规模语言模型 (LLM) 在各种 NLP 任务上已经取得了 SOTA 性能,但它在 NER 上的性能仍然明显低于监督基线。这是由于 NER 和 LLMs 这两个任务之间的差距:前者本质上是序列标记任务,而后者是文本生成模型。在本文中,我们…

劳易测应用案例:包装机械设备风险评估

提起机器风险评估,客户经常会问 “机器存在哪些风险?”、“如何识别并防止风险?”、“如何依据安全标准对机器进行改造与升级?”以及“如何确保机器符合安全要求?等等。 机器风险评估是什么? 机器风险评估是…

鸿蒙HarmonyOS服务卡片实战

引言 在现代开发中,服务卡片是不可或缺的一部分,比如音乐,天气类等应用,官网的介绍中写道:卡片让您便捷地预览服务信息,例如查看天气或日历日程等内容。您可将卡片添加到屏幕上,让这类信息触手…

【大数据】Hadoop学习笔记

基本概念 Hadoop组成 HDFS: Hadoop分布式文件存储系统, 在Haddop中处于底层/核心地位YARN: 分布式通用的集群资源管理系统和任务调度平台, 支撑各种计算引擎执行MapReduce: 第一代分布式计算引擎, 但因为部分原因, 许多企业都不直接使用MapReduce, 但许多底层软件仍然在使用Ma…

SQL Server - ROLLUP、GROUPING、CUBE、GROUPING SET

文章目录 SQL Server - ROLLUP、GROUPING、CUBE、GROUPING SETROLLUP函数GROUPING函数GROUPING SET函数CUBE函数网上例子 写在前面:如果我们想要对分组之后的数据进行类似小计的计算,那么就需要使用到下面的函数 SQL Server - ROLLUP、GROUPING、CUBE、G…

PR模板 | RGB特效视频标题模板Titles | MOGRT

RGB特效视频标题模板mogrt免费下载 4K分辨率(38402160) 支持任何语言 友好的界面 输入和输出动画 快速渲染 视频教程 免费下载:https://prmuban.com/39055.html 更多pr模板视频素材下载地址:https://prmuban.com

【网络协议】精讲TCP通信原理!图解超赞超详细!!!

亲爱的用户,打开微信,搜索公众号:“风云说通信”,即可免费阅读该文章~~ 目录 1. 建立连接 2. 数据传输 3. 断开连接 4. 抓包分析 前言 TCP 把连接作为最基本的对象,每一条 TCP 连接都有两个端点,这种端…

【Day02】0基础微信小程序入门-学习笔记

文章目录 模板与配置学习目标WXML 模板语法1.数据绑定(类似于 Vue2 )2. 事件绑定3. 条件渲染4.列表渲染 WXSS模板样式1. rpx尺寸单位2.样式导入3. 全局样式和局部样式 全局配置1. window2. tabBar 页面配置网络数据请求总结 持续更新~ 模板与配置 学习目…

《第一行代码 第3版》学习笔记——第十一章 网络技术

1 webview用法 class MainActivity : ComponentActivity() {SuppressLint("SetJavaScriptEnabled")override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContent {NetWorkDemoTheme {// A surface container using the bac…

GandCrab5.2勒索病毒复现

GandCrab第一代勒索病毒首次出现于2018年1月,后面经历了五个大版本的更新迭代,该系列病毒特征是采用RSAAES加密算法,从算法上分析解密难度较大,会将系统中的大部分文件加密为随机后缀名的文件,然后对用户进行勒索。本实…

国内邮件推送如何避免拦截?内容优化技巧?

国内邮件推送的平台怎么选择?如何提高邮件推送效果? 邮件营销是企业与客户沟通的重要方式,但在国内邮件推送过程中,邮件被拦截的问题屡见不鲜。为了确保邮件能够顺利送达目标用户,AokSend将探讨一些有效的策略&#x…

【亲测好用】神级PSAI插件大揭秘:三款创成式修图神器,让你解放双手

PsBeta被停用后,小编一直想找到能够平替PsBeta创成式填充功能的插件。 功夫不负有心,终于被我找到啦,现在就给大家揭秘这三款宝藏修图神器,希望能够帮到大家。 1.插件名称:Starai 无需科学上网,还自带提示…

wireshark常用过滤命令

wireshark常用过滤命令 wireshark抓包介绍单机单点:单机多点:双机并行: wireshark界面认识默认布局调整布局(常用)显示FCS错误 wireshark常见列Time回包数据报对应网络模型 wireshark基本操作结束抓包再次开始抓包 **wireshark常用过滤命令**…

乐鑫云方案研讨会回顾|ESP RainMaker® 引领创业潮,赋能科创企业

近日,乐鑫信息科技 (688018.SH) ESP RainMaker 云生态方案线下研讨会和技术沙龙在深圳成功举办,吸引了众多来自照明电工、新能源、安防、宠物等垂类领域的客户与合作伙伴。活动现场,与会嘉宾围绕产品研发、测试认证、品牌构建、跨境电商等多维…

揭秘循环购:消费即收益,如何助力商家月销百万?

大家好,我是吴军,今天要和大家分享一种颠覆性的商业模式——循环购。你是否听说过“消费1000送2000”这样的促销活动?是不是觉得太不可思议,商家岂不是在“送钱”?别急,让我为你揭开这背后的秘密。 循环购&…

路由器ARP和ARP-proxy(华为)

#交换设备 路由器ARP和ARP-proxy(华为) 当一个广播域中的主机想要访问另外一个广播域的主机时,会广播ARP报文,询问目标IP地址所对应的MAC地址,默认情况下,arp记录是设备自动生成的,但是这样会容易受到ARP欺骗攻击&am…