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

Open3D聚类算法

按照官网的例子使用聚类,发现结果是全黑的。

经过多次测试发现 eps=3.3, min_points=1这里是关键

min_points必须等于1否则无效果

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=2.225, 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海绵聚类") 

 点云图

使用聚类后效果图

 

相关文章:

Open3D聚类算法

按照官网的例子使用聚类&#xff0c;发现结果是全黑的。 经过多次测试发现 eps3.3, min_points1这里是关键 min_points必须等于1否则无效果 import time import open3d as o3d; import numpy as np; import matplotlib.pyplot as plt#坐标 mesh_coord_frame o3d.geometry.Tria…...

swing快速入门(三十九)进度对话框

&#x1f381;注释很详细&#xff0c;直接上代码 &#x1f9e7;新增内容 &#x1f9e8;1.模拟耗时操作 &#x1f9e8;2.使用计时器更新进度对话框 &#x1f380;源码&#xff1a; package swing31_40;import javax.swing.*; import java.awt.event.ActionEvent; import java.aw…...

Oracle-存储过程

简介 存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集&#xff0c;它大大提高了SQL语句的功能和灵活性。存储过程编译后存储在数据库中&#xff0c;所以执行存储过程比执行存储过程中封装的SQL语句更有效率。 语法 存储过程: 一组为了完成某种特定功能的sql语句…...

L1-085:试试手气

我们知道一个骰子有 6 个面&#xff0c;分别刻了 1 到 6 个点。下面给你 6 个骰子的初始状态&#xff0c;即它们朝上一面的点数&#xff0c;让你一把抓起摇出另一套结果。假设你摇骰子的手段特别精妙&#xff0c;每次摇出的结果都满足以下两个条件&#xff1a; 1、每个骰子摇出…...

nginx+keepalived实现七层负载

目录 一、部署nginx01、nginx02 二、keepalived配置&#xff08;抢占模式、master- backup模式&#xff09; 三、测试 四、非抢占模式&#xff08;backup-backup模式&#xff09; nginx01 11.0.1.31nginx0211.0.1.32虚拟IP&#xff08;VIP&#xff09;11.0.1.30 一、部署ngin…...

机器人制作开源方案 | 智能盲道除雪小车

作者&#xff1a;汪荣顺 李明旭 马晓乐 吴泽俊 李以陈 单位&#xff1a;江汉大学 指导老师&#xff1a;张朝刚 张会利 本文论述了一种新型智能盲道除雪小车的设计与研发。由于目前的除雪设备集中在公路、城市道路、机场路面、高速公路等领域&#xff0c;但对于街道等路况的研…...

Mypy: 把静态类型检查带给Python

之前我们介绍过,Python作为一门动态语言,为人诟病的缺点之一,就是难以像java那样,支持静态类型检查,这样会把一些错误带到运行中(如果你不进行单元测试的话)。 不过,随着type hint的推开,实际上现在Python已经有了比较充分的静态类型检查。这一章我们先介绍其它Lint工…...

【心得杂记】简单聊聊限制高速面阵相机性能的因素

研究了限制高速面阵相机发展的因素&#xff0c;感觉就是揭开了薄雾面纱之后的复杂。 个人观点&#xff0c;不保证全对~ 欢迎讨论~ 高速相机是一个整体&#xff0c;涉及的各个零部件和模组很多&#xff0c;每个环节都会影响相机指标的提高。 高速相机主要包括的核心部件有&#…...

金蝶Apusic应用服务器 loadTree JNDI注入漏洞

产品介绍 金蝶Apusic是一款企业级应用服务器&#xff0c;支持Java EE技术&#xff0c;适用于各种商业环境。 漏洞概述 由于金蝶Apusic应用服务器权限验证不当&#xff0c;使用较低JDK版本&#xff0c;导致攻击者可以向loadTree接口执行JNDI注入&#xff0c;远程加载恶意类&a…...

计算机毕业设计 基于SpringBoot的公司资产网站的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…...

如何获取时间戳?

获取现在的时间0时0秒 一、JavasCRIPT时间转时间戳 JavaScript获得时间戳的方法有五种&#xff0c;后四种都是通过实例化时间对象new Date() 来进一步获取当前的时间戳&#xff0c;JavaScript处理时间主要使用时间对象Date Date.now()可以获得当前的时间戳&#xff1a; con…...

Vue页面传值:Props属性与$emit事件的应用介绍

一、vue页面传值 在Vue页面中传值有多种方式&#xff0c;简单介绍以下两种 通过props属性传递值&#xff1a;父组件在子组件上定义props属性&#xff0c;子组件通过props接收父组件传递的值。通过$emit触发事件传递值&#xff1a;子组件通过$emit方法触发一个自定义事件&#…...

【mars3d】new mars3d.layer.GeoJsonLayer(实现环状面应该怎么传data

问题&#xff1a;【mars3d】new mars3d.layer.GeoJsonLayer(实现环状面应该怎么传data 解决方案&#xff1a; 1.在示例中修改showDraw()方法的data数据&#xff0c;实现以下环状面效果 2.示例链接&#xff1a; 功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技 export f…...

Websocket实时更新商品信息

产品展示页面中第一次通过接口去获取数据库的列表数据 /// <summary> /// 获取指定的商品目录 /// </summary> /// <param name"pageSize"></param> /// <param name"pageIndex"></param> /// <param name"i…...

数据结构第六弹---带头双向循环链表

双向循环链表 1、带头双向循环链表概念2、带头双向循环链表的优势3、带头双向循环链表的实现3.1、头文件包含和结构定义3.2、创建新结点3.3、打印3.4、初始化3.5、销毁3.6、尾插3.7、头插3.8、头删3.9、尾删3.10、查找3.11、在pos之前插入3.12、删除pos位置3.13、判断是否为空3…...

洛谷——P1347 排序(图论-拓扑排序)

文章目录 一、题目排序题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 样例 #2样例输入 #2样例输出 #2 样例 #3样例输入 #3样例输出 #3 提示 二、题解基本思路&#xff1a;代码 一、题目 排序 题目描述 一个不同的值的升序排序数列指的是一个从左到右元素依次增大的…...

JVM内存管理

一.java程序运行过程 JDK,JRE,JVM JVM把我们的字节码翻译成机械能执行的机械码。 JRE除了包含JVM之外&#xff0c;还包含很多java的原生依赖库。 JDK除了包含JRE之外&#xff0c;还包含很多工具&#xff0c;比如javac工具。 .java文件是怎么被执行的 我们的.java文件会被…...

将 Python 和 Rust 融合在一起,为 pyQuil® 4.0 带来和谐

文章目录 前言设定方向从 Rust 库构建 Python 软件包改装 pyQuil异步困境回报&#xff1a;功能和性能结论 前言 pyQuil 一直是在 Rigetti 量子处理单元&#xff08;QPUs&#xff09;上构建和运行量子程序的基石&#xff0c;通过我们的 Quantum Cloud Services&#xff08;QCS™…...

Spring Boot应用程序中VO的理解及使用

在Spring Boot应用程序中&#xff0c;VO&#xff08;View Object&#xff09;通常用于表示视图层所需的数据&#xff0c;这些数据来自于业务逻辑层或数据访问层。VO的主要目的是将业务逻辑层的数据结构转换为视图层可以使用的数据结构&#xff0c;使得视图层可以直接使用VO中的…...

华为交换机ETH-TRUNK链路聚合lacp模式与手工模式

SW1配置如下 vlan batch 10interface Eth-Trunk1port link-type trunkport trunk allow-pass vlan 10mode lacp-static #手工模式删除改行max active-linknumber 2 #手工模式删除改行trunkport GigabitEthernet 0/0/1 to 0/0/2#配置为主设备&#xff08;修改优先级&…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架&#xff0c;支持"一次开发&#xff0c;多端部署"&#xff0c;可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务&#xff0c;为旅游应用带来&#xf…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

群晖NAS如何在虚拟机创建飞牛NAS

套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...

uniapp 实现腾讯云IM群文件上传下载功能

UniApp 集成腾讯云IM实现群文件上传下载功能全攻略 一、功能背景与技术选型 在团队协作场景中&#xff0c;群文件共享是核心需求之一。本文将介绍如何基于腾讯云IMCOS&#xff0c;在uniapp中实现&#xff1a; 群内文件上传/下载文件元数据管理下载进度追踪跨平台文件预览 二…...