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

点云图

使用聚类后效果图

相关推荐
chao18984421 分钟前
基于 SPEA2 的多目标优化算法 MATLAB 实现
开发语言·算法·matlab
沪漂阿龙22 分钟前
AI大模型面试题:支持向量机是什么?间隔最大化、软间隔、核函数、LinearSVC 全面拆解
人工智能·算法·支持向量机
little~钰1 小时前
倍增算法和ST表
算法
知识领航员2 小时前
蘑兔AI音乐深度实测:功能拆解、实测表现与适用场景
java·c语言·c++·人工智能·python·算法·github
薛定e的猫咪2 小时前
因果推理研究方向综述笔记
人工智能·笔记·深度学习·算法
如何原谅奋力过但无声3 小时前
【灵神高频面试题合集06-08】反转链表、快慢指针(环形链表/重排链表)、前后指针(删除链表/链表去重)
数据结构·python·算法·leetcode·链表
平行侠3 小时前
037插入排序 - 整理扑克牌的算法
数据结构·算法
ECT-OS-JiuHuaShan3 小时前
彻底定理化:从量子纠缠到量子代谢
数据库·人工智能·学习·算法·生活·量子计算
爱喝雪碧的可乐4 小时前
2026 腾讯广告算法大赛优秀方案启示:行为条件化多模态自回归生成推荐摘要
算法·数据挖掘·回归·推荐系统·推荐算法