Open3D将聚类结果显示或者保存

将聚类结果按大小排序,并取出最大的4个结果 

import time
import open3d as o3d;
import numpy as np;
import matplotlib.pyplot as plt#坐标
mesh_coord_frame = o3d.geometry.TriangleMesh.create_coordinate_frame(size=355, origin=[0, 0, 0])
#mesh_coord_frame = mesh_coord_frame.translate((0.16, 0.15, 0)) #加载点云数据
ply = o3d.io.read_point_cloud("source/Foam1.ply") # downply = ply.voxel_down_sample(voxel_size=0.103)
# o3d.visualization.draw_geometries([ downply],window_name="downply") #去除无效部分
plane_model, inliers = ply.segment_plane(distance_threshold=1.6,ransac_n=3,num_iterations=1000)[a, b, c, d] = plane_model
print(f"Plane equation: {a:.2f}x + {b:.2f}y + {c:.2f}z + {d:.2f} = 0")inlier_cloud = ply.select_by_index(inliers) pcd = ply.select_by_index(inliers, invert=True) 
o3d.visualization.draw_geometries([ inlier_cloud],window_name="3D海绵点云无效数据") 
o3d.visualization.draw_geometries([ pcd],window_name="3D海绵点云有效数据") # 使用聚类算法
with o3d.utility.VerbosityContextManager(o3d.utility.VerbosityLevel.Debug) as cm:labels = np.array(pcd.cluster_dbscan(eps=3.3, min_points=1, print_progress=True))print(labels)
# 求点云的聚类数量
max_label = labels.max()
print(f"point cloud has {max_label + 1} clusters")
# 可视化
colors = plt.get_cmap("tab20")(labels / (max_label if max_label > 0 else 1))
colors[labels < 0] = 0
pcd.colors = o3d.utility.Vector3dVector(colors[:, :3])
o3d.visualization.draw_geometries([ pcd,mesh_coord_frame],window_name="3D海绵聚类") # Get the unique labels
unique_labels = np.unique(labels)# Create a dictionary to store the cluster sizes
cluster_sizes = {}
for label in unique_labels:cluster_sizes[label] = np.count_nonzero(labels == label)# Sort the dictionary by cluster size 排序取出最大的四个聚类结果
sorted_cluster_sizes = dict(sorted(cluster_sizes.items(), key=lambda item: item[1], reverse=True)[:4]
)# Save the clustering results for each cluster in sorted order
for label, size in sorted_cluster_sizes.items():cluster_pcd = pcd.select_by_index(np.where(labels == label)[0])o3d.visualization.draw_geometries([ cluster_pcd,mesh_coord_frame],window_name="3D海绵聚类结果{}".format(size)) # o3d.io.write_point_cloud(#     "path/to/clustered_point_cloud_{}.pcd".format(label), cluster_pcd# )# # Save the clustering results for each cluster in a specific format# o3d.io.write_point_cloud_ply(#     "path/to/clustered_point_cloud_{}.ply".format(label), cluster_pcd# )

聚类结果

最大的面积 结果

第二大面积结果

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

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

相关文章

简述游戏行业中的攻击种类和适用的服务器

我们都知道游戏行业竞争大&#xff0c;特别是同行竞争、打击报复和网络敲诈等多种因素&#xff0c;游戏客户端也就成了主要受害者。而且据有效统计百分之80的DDOS攻击都来自游戏行业。因此游戏公司出品一款新的游戏&#xff0c;最担忧的问题不是推广不到位&#xff0c;也不是人…

2023APMCM亚太数学建模C题 - 中国新能源汽车的发展趋势(2)

五&#xff0e;问题二模型建立和求解 5.1 问题二模型建立和求解 针对题目二&#xff0c;题目要求收集中国新能源电动汽车行业发展数据&#xff0c;建立数学模型描述&#xff0c;并预测未来十年的发展。由于在第一文中&#xff0c;我们已经收集了一定的新能源行业发展数据&…

【漏洞复现】ActiveMQ反序列化漏洞(CVE-2015-5254)

Nx01 产品简介 Apache ActiveMQ是Apache软件基金会所研发的开放源代码消息中间件。ActiveMQ是消息队列服务&#xff0c;是面向消息中间件&#xff08;MOM&#xff09;的最终实现&#xff0c;它为企业消息传递提供高可用、出色性能、可扩展、稳定和安全保障。 Nx02 漏洞描述 Re…

云计算运维工程师面试题(二)

云计算运维工程师面试题(二) 1. 什么是云计算?云计算的主要特点是什么?2. 云计算的服务模型和部署模型?3. 什么是弹性伸缩?如何实现云计算的弹性伸缩?4. 云计算中的高可用性是如何实现的?5. 云计算中的数据安全如何保障?6. 云计算中的容灾和备份策略是如何设计的?7. …

数据分析求职-岗位介绍

这是咱们干货开始的第一篇文章&#xff0c;后续我尽量会保持日更的节奏和大家做分享~ 在未来所有分享的内容展开之前&#xff0c;咱们有必要先彻底、深入地了解下数据分析这个岗位。如果你还在犹豫是否要走数据分析的路&#xff0c;或者你已经拿了数据分析的offer想了解下将来…

插入排序详解!!!(简单排序),基本功排序C语言版

目录 1.什么是插入排序 2.插入排序的源代码 3.源代码详解 1.什么是插入排序 这是一个插入排序的流程图&#xff0c;插入排序 很像我们玩斗地主&#xff0c;玩牌&#xff0c;斗地主在开始前&#xff0c;我们是不是要给我们手上的牌排序啊&#xff0c;假设我们理牌有一个规矩就…

CLM陆面过程模式实践技术应用

NCAR陆面模式CLM (Community Land Model)是地球系统模式CESM (Community Earth System Model)中的陆面过程模式分量&#xff0c;是在结合了BATS、LSM和IAP94等众多陆面模式的优点后&#xff0c;加入水文过程而开发出的综合性陆面模式&#xff0c;是目前国际上发展最为完善且得到…

MySQL-DDL

DDL是数据定义语言&#xff0c;用来定义数据对象&#xff08;数据库&#xff0c;表&#xff0c;字段&#xff09; 数据库操作&#xff1a; 1.查询&#xff1a; 查询所有数据库&#xff1a;SHOW DATABASES; 查询当前数据库&#xff1a;SELECT DATABASE(); 2.创建&#xff1a; C…

UI测试平台RunnerGo一键安装教程

现在安装RunnerGo仅需要一条命令&#xff01;目前支持系统&#xff1a;Centos、Debian、Ubuntu三种。下面给大家介绍一下RunnerGo安装使用流程&#xff1a; Step1&#xff1a;复制以下命令 wget https://img.cdn.apipost.cn/running_go/img/wiki/runnergo.tar && ta…

第二天学习记录

第二天 C++随便提一提,目前不深究,有兴趣了解重点学习编译原理选学C语言操作系统汇编语言编译器设计领域的技术C++ 随便提一提,目前不深究,有兴趣了解 C++历史,原理,过程式编程,面向对象编程,泛型编程,标准,技巧。为了应付复杂程度不断提高的现代化编程任务,C++引…

基于SSM的新闻网站

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…

【Python库】pillow (PIL)库的用法介绍

一、引言 Pillow库是Python中用于图像处理的一个非常强大的工具&#xff0c;它实际上是Python Imaging Library&#xff08;PIL&#xff09;的一个分支。Pillow库提供了广泛的图像处理功能&#xff0c;包括但不限于&#xff1a; 图像的读取、写入和保存&#xff1a;Pillow库可…

鸿蒙OS应用开发之日期选择

前面学习了时间选择组件,实现了时间的选择,这样非常方便用户进行时间的输入,通过手动就可以输入时间,比直接文本输入要省不少时间,特别对于手机这样单手操作的设备,更加重要了。因此,日期的输入工作也不能落后,本文将要学习日期选择组件,这样就可以实现日期通过手上下…

【React系列】ES6学习笔记(二)Promise、async\await

本文参考自电子书《ECMAScript 6 入门》&#xff1a;https://es6.ruanyifeng.com/ Promise 对象 1. Promise 的含义 Promise 是异步编程的一种解决方案&#xff0c;比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现&#xff0c;ES6 将其写进了…

打破闲鱼商品搜索瓶颈!云端电商API接口让你畅享商品详情关键词搜索的便利!

在闲鱼卖家的日常经营中&#xff0c;商品搜索是一个至关重要的环节。但是&#xff0c;由于闲鱼平台商品信息繁杂&#xff0c;卖家往往很难通过手动搜索的方式找到符合自己需求的商品。为了解决这一问题&#xff0c;云端电商API接口应运而生。联讯数据将详细介绍云端电商API接口…

有没有游泳可以戴的耳机?游泳耳机入耳式好,还是骨传导好

游泳是一项既能锻炼身体又能让人放松心情的运动。我们知道&#xff0c;音乐能够为我们的水上时光增添更多的乐趣。那么&#xff0c;在众多游泳耳机中&#xff0c;如何选择一款既适合自己的需求又具备良好性能的产品呢&#xff1f; 首先&#xff0c;我们要了解的是&#xff0c;…

[原创][R语言]股票分析实战[8]:因子与subset的关系

[简介] 常用网名: 猪头三 出生日期: 1981.XX.XX QQ联系: 643439947 个人网站: 80x86汇编小站 https://www.x86asm.org 编程生涯: 2001年~至今[共22年] 职业生涯: 20年 开发语言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、D…

TCL学习笔记(持续更新)

前言&#xff1a; TCL&#xff08;tool common language&#xff09;是一种通用工具语言&#xff0c;很多eda tool都支持tcl&#xff0c;学习了解一些tcl基本语法还是很有必要的。 1&#xff1a;基础概念 解释器&#xff1a; #!/usr/bin/tclsh 打印&#xff1a; puts -> p…

delvewheel进行repair时报Unable to find library: msvcr100.dll【已解决】

问题描述 我自己编译了我下载的一个开源软件pyuvc&#xff0c;编译出whl文件后使用delvewheel进行repair&#xff0c;也就是把它依赖库dll库拷贝到whl文件中。等效的的执行命令是&#xff1a; python.exe -m delvewheel repair -w .\wheelhouse\ dist\pupil_labs_uvc-1…

大图热控授权世强硬创代理,液冷板产品可解决超高热流密度散热难题

受益于下游产业发展&#xff0c;液冷板&#xff08;又称为“水冷板”&#xff09;市场需求持续上升&#xff0c;行业发展迅速。国内企业为了在竞争激烈的市场中生存&#xff0c;也在不断开发新的散热技术及产品&#xff0c;苏州大图热控科技有限公司便是其中之一。 为将液冷产…