PCL聚类 之K-Means

1. K-Means 聚类原理

目标:把点云分成 KKK 个簇,使簇内点尽量接近簇中心,簇间尽量远。

假设点云:

2、数学原理

优化目标函数

算法步骤

3、Matlab

cpp 复制代码
clc; clear;

% 生成示例点云
pts1 = randn(50,3) + [1 1 1];
pts2 = randn(50,3) + [3 2 1];
pts3 = randn(50,3) + [2 3 2];
points = [pts1; pts2; pts3];

% 聚类
K = 3;
[idx, C] = kmeans(points, K);

% 可视化
figure; hold on; grid on; axis equal;
colors = lines(K);
for k = 1:K
    scatter3(points(idx==k,1), points(idx==k,2), points(idx==k,3), 50, colors(k,:), 'filled');
end
xlabel('X'); ylabel('Y'); zlabel('Z');
title('K-Means 点云聚类示例');
相关推荐
满分观察网友z1 小时前
刷 LeetCode 看不懂题解?我做了一个能"播放"算法的开源可视化平台
前端·算法·leetcode
liu****1 小时前
4.哈希扩展
c++·算法·哈希算法·位图·bitset
Flying pigs~~1 小时前
机器学习之数据挖掘时间序列预测
人工智能·算法·机器学习·数据挖掘·线性回归
仰泳的熊猫1 小时前
题目1882:蓝桥杯2017年第八届真题-k倍区间
数据结构·c++·算法·蓝桥杯
Darkwanderor1 小时前
图论——拓扑排序和图上DP
c++·算法·动态规划·图论·拓扑排序
有时间要学习1 小时前
面试150——第六周
算法·面试·深度优先
请叫我大虾1 小时前
数据结构与算法-分裂问题,将数字分成0或1,求l到r之间有多少个1.
java·算法·r语言
hetao17338371 小时前
2026-03-04~03-06 hetao1733837 的刷题记录
c++·算法
逆境不可逃2 小时前
【从零入门23种设计模式16】行为型之迭代器模式
java·开发语言·数据结构·算法·设计模式·职场和发展·迭代器模式