当前位置: 首页 > news >正文

open3d 裁剪点云

目录

1. crop_point_cloud

2. crop

3. crop_mesh


1. crop_point_cloud

关键函数

chair = vol.crop_point_cloud(pcd)   # vol: SelectionPolygonVolume
import open3d as o3dif __name__ == "__main__":# 1. read pcdprint("Load a ply point cloud, crop it, and render it")sample_ply_data = o3d.data.DemoCropPointCloud()pcd = o3d.io.read_point_cloud(sample_ply_data.point_cloud_path)# 2. crop# vol: SelectionPolygonVolume, 定义裁剪区域vol = o3d.visualization.read_selection_polygon_volume(sample_ply_data.cropped_json_path) chair = vol.crop_point_cloud(pcd)# 2. view# Flip the pointclouds, otherwise they will be upside down.pcd.transform([[1, 0, 0, 0], [0, -1, 0, 0], [0, 0, -1, 0], [0, 0, 0, 1]])chair.transform([[1, 0, 0, 0], [0, -1, 0, 0], [0, 0, -1, 0], [0, 0, 0, 1]])print("Displaying original pointcloud ...")o3d.visualization.draw([pcd])print("Displaying cropped pointcloud")o3d.visualization.draw([chair])

2. crop

pcd_cropped = pcd.crop(bbox)  # pcd: PointCloud. bbox: AxisAlignedBoundingBox

AxisAlignedBoundingBox https://blog.csdn.net/jizhidexiaoming/article/details/130561514?spm=1001.2014.3001.5501

# 1. read pcd
print("Load a ply point cloud, crop it, and render it")
sample_ply_data = o3d.data.DemoCropPointCloud()
pcd = o3d.io.read_point_cloud(sample_ply_data.point_cloud_path)# 2. 定义裁剪区域。沿着y轴过滤: 只返回y坐标在[0.1,2]之间的点
bounds_list = [[-math.inf, math.inf], [0.8, 2], [-math.inf, math.inf]]  # xyz边界范围
# list2tuple, limit points边界点。itertools.product排列笛卡尔乘积是x,y,z各取一个值,组成xyz点坐标
bbox_pt_list = list(itertools.product(*bounds_list))
bbox_pt_vec = o3d.utility.Vector3dVector(bbox_pt_list)  # list
bbox = o3d.geometry.AxisAlignedBoundingBox.create_from_points(bbox_pt_vec)# 3. crop
pcd_cropped = pcd.crop(bbox)# 4. display
# Flip the pointclouds, otherwise they will be upside down.
pcd_cropped.transform([[1, 0, 0, 0], [0, -1, 0, 0], [0, 0, -1, 0], [0, 0, 0, 1]])
o3d.visualization.draw(pcd_cropped)

3. crop_mesh

上面是裁剪PointCloud,这里裁剪TriangleMesh.

转成numpy,修改mesh的traingles和triangle_normals成员。

import open3d as o3d
import numpy as np
import copyif __name__ == "__main__":# 1. read meshknot_mesh = o3d.data.KnotMesh()mesh = o3d.io.read_triangle_mesh(knot_mesh.path)mesh.compute_vertex_normals()print("Displaying original mesh ...")o3d.visualization.draw([mesh])# 2. crop: triangles and triangle_normalsprint("Displaying mesh of only the first half triangles ...")mesh_cropped = copy.deepcopy(mesh)  # mesh_cropped.triangles. (num, 3)mesh_cropped.triangles = o3d.utility.Vector3iVector(  # trianglesnp.asarray(mesh_cropped.triangles)[:len(mesh_cropped.triangles) // 2, :])mesh_cropped.triangle_normals = o3d.utility.Vector3dVector(  # triangle_normalsnp.asarray(mesh_cropped.triangle_normals)[:len(mesh_cropped.triangle_normals) // 2, :])print(mesh_cropped.triangles)o3d.visualization.draw([mesh_cropped])

 

 

相关文章:

open3d 裁剪点云

目录 1. crop_point_cloud 2. crop 3. crop_mesh 1. crop_point_cloud 关键函数 chair vol.crop_point_cloud(pcd) # vol: SelectionPolygonVolume import open3d as o3dif __name__ "__main__":# 1. read pcdprint("Load a ply point cloud, crop it…...

如何对第三方相同请求进行筛选过滤

文章目录 问题背景处理思路注意事项代码实现 问题背景 公司内部多个系统共用一套用户体系库,对外(钉钉)我们是两个客户身份(这里是根据系统来的),例如当第三方服务向我们发起用户同步请求:是一个更新用户操作,它会同时发送一个 d…...

Go RPC

目录 文章目录 Go RPCHTTP RPCTCP RPCJSON RPC Go RPC Go 标准包中已经提供了对 RPC 的支持,而且支持三个级别的 RPC:TCP、HTTP、JSONRPC。但 Go 的 RPC 包是独一无二的 RPC,它和传统的 RPC 系统不同,它只支持 Go 开发的服务器与…...

真正的智能不仅仅是一个技术问题

智能并不是单一的技术问题,而是一个包括技术、人类智慧、社会制度和文化等多个方面的综合体,常常涉及技术变革、系统演变、运行方式创新、组织适应。智能是指人类的思考、判断、决策和创造等高级认知能力,可以通过技术手段来实现增强和扩展。…...

【数据结构】复杂度包装泛型

目录 1.时间和空间复杂度 1.1时间复杂度 1.2空间复杂度 2.包装类 2.1基本数据类型和对应的包装类 2.2装箱和拆箱 //阿里巴巴面试题 3.泛型 3.1擦除机制 3.2泛型的上界 1.时间和空间复杂度 1.1时间复杂度 定义:一个算法所花费的时间与其语句的执行次数成…...

Ae:绘画面板

Ae菜单:窗口/绘画 Paint 快捷键:Ctrl 8 绘画工具(画笔工具、仿制图章工具及橡皮擦工具)仅能工作在图层面板上。在使用绘画工具之前,建议先在绘画 Paint面板中查看或进行相关设置。 说明: 如果要在绘画描边…...

常见的锁和zookeeper

zookeeper 本文由 简悦 SimpRead 转码, 原文地址 zhuanlan.zhihu.com 前言 只有光头才能变强。 文本已收录至我的 GitHub 仓库,欢迎 Star:https://github.com/ZhongFuCheng3y/3y 上次写了一篇 什么是消息队列?以后,本来…...

经验总结:(Redis NoSQL数据库快速入门)

一、Nosql概述 为什么使用Nosql 1、单机Mysql时代 90年代,一个网站的访问量一般不会太大,单个数据库完全够用。随着用户增多,网站出现以下问题 数据量增加到一定程度,单机数据库就放不下了数据的索引(B Tree),一个机…...

form表单与模板引擎

文章目录 一、form表单的基本使用1、什么是表单2、表单的组成部分3、 <form>标签的属性4、表单的同步提交及缺点&#xff08;1&#xff09; 什么是表单的同步提交&#xff08;2&#xff09; 表单同步提交的缺点&#xff08;3&#xff09; 如何解决表单同步提交的缺点 二、…...

医院检验信息管理系统源码(云LIS系统源码)JQuery、EasyUI

云LIS系统是一种医疗实验室信息管理系统&#xff0c;提供全面的实验室信息管理解决方案。它的主要功能包括样本管理、检测流程管理、报告管理、质量控制、数据分析和仪器管理等。 云LIS源码技术说明&#xff1a; 技术架构&#xff1a;Asp.NET CORE 3.1 MVC SQLserver Redis等…...

React 组件

文章目录 React 组件复合组件 React 组件 本节将讨论如何使用组件使得我们的应用更容易来管理。 接下来我们封装一个输出 “Hello World&#xff01;” 的组件&#xff0c;组件名为 HelloMessage&#xff1a; React 实例 <!DOCTYPE html> <html> <head> &…...

硕士学位论文的几种常见节奏

摘要: 本文描述硕士学位论文的几种目录结构, 特别针对机器学习方向. 1. 基础版 XX算法及其在YY中的应用 针对情况: 只有一篇小论文支撑. 第 1 章: 引言 ( > 5页) 1.1 背景及意义 (应用背景、研究意义, 2 页) 1.2 研究进展及趋势 (算法方面, 2 页) 1.3 论文结构 (1 页) 第 …...

找兄弟单词

描述 定义一个单词的“兄弟单词”为&#xff1a;交换该单词字母顺序&#xff08;注&#xff1a;可以交换任意次&#xff09;&#xff0c;而不添加、删除、修改原有的字母就能生成的单词。 兄弟单词要求和原来的单词不同。例如&#xff1a; ab 和 ba 是兄弟单词。 ab 和 ab 则不…...

python字典翻转教学

目录 第1关 创建大学英语四级单词字典 第2关 合并大学英语四六级词汇字典 第3关 查单词输出中文释义 第4关 删除字典中特定字母开头的单词 第5关 单词英汉记忆训练 第1关 创建大学英语四级单词字典 本关任务&#xff1a;编写一个能创建大学英语四级单词字典的小程序。 测…...

sentinel 随笔 3-降级处理

0. 像喝点东西&#xff0c;但不知道喝什么 先来段源码&#xff0c;看一下 我们在dashboard 录入的降级规则&#xff0c;都映射到哪些字段上 package com.alibaba.csp.sentinel.slots.block.degrade;public class DegradeRule extends AbstractRule {public DegradeRule(String…...

如何解决IP能ping通但无法上网的问题?

当我们在网络环境中遇到无法上网的问题时&#xff0c;可能会尝试使用ping命令来测试网络连接是否正常。如果ping测试成功&#xff0c;说明我们的IP地址能够和网络中其他设备进行通信&#xff0c;但是无法上网。这种情况下&#xff0c;我们需要采取一些措施来解决这个问题。本文…...

Autosar实践-CANTp

文章目录 前言一、CanTp是什么?二、Autosar配置三、诊断数据传输流程1.接收单帧失败,上层没有适当的buffer2.成功接收单帧3.成功发送单帧4.成功接收多帧5.成功发送多帧前言 CANTp模块作为提供数据拆包、组包、流控制传输的服务,在Autosar基础软件通信中起着至关重要的作用。…...

Redis简介

Redis&#xff08;Remote Dictionary Server&#xff09;是一个开源的键值对&#xff08;key-value&#xff09;数据库&#xff0c;支持网络、可基于内存亦可持久化。 Redis的数据结构包括列表&#xff08;List&#xff09;、集合&#xff08;Set&#xff09;、有序集合&#…...

报错问题修改

Vue 项目报错&#xff1a;‘$‘ is not defined ( no-undef ) 错误原因是不认识 $ 符&#xff0c;他是 JQuery 中得符号&#xff0c;引入了 JQuery 文件里的函数报错onclick is not defined问题(作用域问题) window.onload function (){ onload function (){ 第二种方法…...

专访惠众科技|元宇宙应用如何借助3DCAT实时云渲染实现流畅大并发呈现?

当前互联网流量红利已经逐渐消失&#xff0c;营销同质化愈发严重。在这样的背景下&#xff0c;催生了以为元宇宙 焦点的虚拟产业经济。元宇宙在各行各业中以不同形式快速萌生、成长&#xff0c;呈现出多元化的应用场景。尤其是众多品牌&#xff0c;将元宇宙视为品牌建设与营销新…...

Phi-4-mini-reasoning自动化测试方案:生成测试数据与验证逻辑

Phi-4-mini-reasoning自动化测试方案&#xff1a;生成测试数据与验证逻辑 1. 引言&#xff1a;当AI遇上软件测试 最近跟几个测试团队聊天&#xff0c;发现他们都在为同样的事情头疼&#xff1a;手工编写测试用例耗时费力&#xff0c;边界条件覆盖不全&#xff0c;测试结果验证…...

百度网盘下载加速终极指南:3分钟学会高速下载技巧

百度网盘下载加速终极指南&#xff1a;3分钟学会高速下载技巧 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 还在为百度网盘的龟速下载而烦恼吗&#xff1f;每次下载大文件都…...

代码质量与测试框架:front-end-roadmap教你编写高质量前端代码

代码质量与测试框架&#xff1a;front-end-roadmap教你编写高质量前端代码 【免费下载链接】front-end-roadmap Tell you how to learn front end development ~ 项目地址: https://gitcode.com/gh_mirrors/fr/front-end-roadmap front-end-roadmap是一个专注于前端开发…...

弦音墨影在影视鉴赏中的创新应用:自然语言解析千里江山图式影像

弦音墨影在影视鉴赏中的创新应用&#xff1a;自然语言解析千里江山图式影像 1. 系统概述与核心价值 「弦音墨影」是一款将尖端人工智能技术与东方美学深度融合的视频理解系统。它基于Qwen2.5-VL多模态大模型&#xff0c;为用户提供了一种全新的视频内容交互体验——通过自然语…...

C++的std--chrono时间库与steady_clock在性能测量中的正确使用

在C高性能程序开发中&#xff0c;精确测量代码执行时间是优化和调试的关键环节。std::chrono时间库作为现代C的标准工具&#xff0c;提供了高精度、类型安全的计时能力&#xff0c;其中steady_clock因其单调递增的特性成为性能测量的首选。本文将深入解析其正确使用方式&#x…...

RVC模型GitHub开源项目实战:从Fork到贡献代码

RVC模型GitHub开源项目实战&#xff1a;从Fork到贡献代码 想为热门的RVC&#xff08;Retrieval-based Voice Conversion&#xff09;项目贡献一份力量&#xff0c;却不知道从何下手&#xff1f;看着GitHub上那些活跃的Pull Request&#xff0c;是不是既羡慕又有点无从下手的感…...

多智能体强化学习调参新思路:为什么你的MAPPO在离散环境不收敛?

多智能体强化学习调参新思路&#xff1a;为什么你的MAPPO在离散环境不收敛&#xff1f; 当你在连续环境中轻松实现MAPPO&#xff08;Multi-Agent Proximal Policy Optimization&#xff09;的收敛后&#xff0c;转向离散环境时却遭遇了令人沮丧的失败——这不是个例。许多中高级…...

深入解析AdaptiveAvgPool2d:从原理到实践

1. 池化技术基础与核心价值 当你第一次听说"池化"这个词时&#xff0c;可能会联想到游泳池或者资源池。但在深度学习领域&#xff0c;池化(Pooling)是一种非常重要的降维操作&#xff0c;它就像一位精明的数据压缩师&#xff0c;能够在不丢失关键信息的前提下&#x…...

健康赛道又一个爆款玩法:华一拼团+公排返利,到底怎么做?

大家好&#xff0c;我一家电商软件开发公司的负责人。现在健康赛道那可真是遍地黄金&#xff0c;躺赚的机会说来就来啦&#xff01;你是不是一直苦于找不到能落地、还能高盈利的模式系统&#xff1f;今天我就给大家分享2026爆火的模式——华一健康模式系统&#xff0c;它直接照…...

《信号完整性》专栏简介

大家好&#xff0c;我是一只豌豆象&#xff0c;一名长期从事信号完整性设计分析的电子工程师&#xff0c;凭着对技术知识的无尽渴望和对技术工作的不断追求&#xff0c;再辅以极高的学习热情&#xff0c;使得我能够十年如一日的高效深耕于电子产品的设计研发领域。 在已过去的…...