基于欧氏距离的点云聚类(python)

1、背景介绍

       欧式聚类是一种基于欧氏距离度量的聚类算法。它是点云处理中的一个重要步骤,它可以帮助我们从无序的点云数据中提取有意义的信息。一般来说,对点云进行欧式聚类处理,可以帮助后续数据处理,如物体检测与识别、三维重建等。如下图所示,经过欧式聚类处理后,得到单棵树木,识别出单棵树木。

2、欧氏聚类原理

      点云欧氏聚类是一种基于点云数据中点与点之间的欧氏距离来进行聚类的方法,只要任意点之间距离小于设定阈值,便将这两点聚为一类。如下图所示,展示了二维平面下欧氏聚类原理

欧氏聚类算法编程大体步骤如下,总体来说,分割结果与设置的距离阈值密切相关。

  1. 初始化

    • 创建一个空的结果列表,用于存放聚类结果。
    • 初始化一个标志数组,用于标记点是否已被处理。
  2. 构建搜索结构

    • 构建一个空间索引结构(如 KD 树),以便快速查找每个点的邻域。
  3. 遍历点云

    • 遍历点云中的每一个点。
    • 如果该点尚未被处理,则开始一个新的聚类。
  4. 区域增长

    • 选择一个未处理的点作为起始点。
    • 在给定的距离阈值内找到所有邻近的点,并将它们标记为已处理。
    • 将这些邻近的点添加到当前聚类中。
    • 对这些邻近点重复上述过程,直到没有新的点加入聚类为止。
  5. 保存聚类结果

    • 将当前聚类添加到结果列表中。
  6. 重复步骤 3-5

    • 继续遍历未处理的点,重复上述步骤,直到所有点都被处理。
  7. 输出结果

    • 返回所有聚类的结果列表。

3、程序测试

3.1 部分代码     

        使用python语言,在pycharm平台上编写的欧氏聚类源代码,非调用API程序代码,下载链接:https://download.csdn.net/download/qq_32867925/89598939

下载包括源代码与测试数据:

其中区域增长代码如下,根据探测的近邻点一直增长下去,直至不再有点增加进来

 while len(seed)>=1:onepoint=seed.pop()#获取头部点,并从列表中剔除该点nearest_idx = kdtree.query_ball_point(onepoint, dis_thres)for j in range(len(nearest_idx)):id=nearest_idx[j]if flag[id] == 0:  # 表明没有增长flag[id] = 1onecluster.append(before_cluster[id])seed.append(before_cluster[id])

搜索近邻点,并对近邻点逐一进行处理,代码如下:

 nearest_idx = kdtree.query_ball_point(points[i], dis_thres)
for j in range(len(nearest_idx)):

3.2 测试结果分析

      选取车载点云采集的树木点云数据进行测试,如下图所示,总共5棵树木,树木之间间距不交明显,利用欧氏聚类对点云进行处理后,5棵树木点被划分到对应的树木上,分割效果还算理想。

4、总结

    介绍了欧氏聚类基本原理,并测试用python编写的欧氏聚类代码对点云进行聚类效果。

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

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

相关文章

<Rust><iced>基于rust使用iced构建GUI实例:一个CRC16校验码生成工具

前言 本专栏是Rust实例应用。 环境配置 平台:windows 软件:vscode 语言:rust 库:iced、iced_aw 概述 本文是专栏第五篇实例,是一个CRC16校验码转换程序。 本篇内容: 1、CRC16校验码生成 代码介绍 本文的crc16校验码生成工具,主要设计两个方面,一个是crc16 modbus…

【动态规划】力扣.213. 打家劫舍 II

你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一…

基于YOLOv8的高压输电线路异物检测系统

基于YOLOv8的高压输电线路异物检测系统 (价格88) 包含 【“鸟窝”,“风筝”,“气球”,“垃圾”】 4个类 通过PYQT构建UI界面,包含图片检测,视频检测,摄像头实时检测。 (该系统可以根据数…

文件解析漏洞--IIS--Vulhub

文件解析漏洞 一、IIS解析漏洞 用windowserver2003安装IIS测试 1.1 IIS6.X 方法一:目录解析 在网站下建立文件夹的名字为.asp/.asa的文件夹,其目录内的任何扩展名的文件都被IIS当作asp文件来解析并执行。 1.txt文件里是asp文件的语法查看当前时间 方…

黑马头条Day11- 实时计算热点文章、KafkaStream

一、今日内容 1. 定时计算与实时计算 2. 今日内容 KafkaStream 什么是流式计算KafkaStream概述KafkaStream入门案例SpringBoot集成KafkaStream 实时计算 用户行为发送消息KafkaStream聚合处理消息更新文章行为数量替换热点文章数据 二、实时流式计算 1. 概念 一般流式计…

【Win10】记一次蓝屏修复

最近电脑蓝屏了好多次,错误代码为:IRQL_NOT_LESS_OR_EQUAL 直接搜这个错误代码不太好找原因,于是按照这篇文章[1]来打开错误日志文件。 需要先在windows的应用商店中下载WinDbg 然后,打开目录 C:\Windows\Minidump ,…

“论云原生架构及其应用”写作框架软考高级论文系统架构设计师论文

论文真题 近年来,随着数字化转型不断深入,科技创新与业务发展不断融合,各行各业正在从大工业时代的固化范式进化成面向创新型组织与灵活型业务的崭新模式。在这一背景下,以容器和微服务架构为代表的云原生技术作为云计算服务的新…

CANoe在使用时碰到的一些很少见的Bug

CANoe作为一款成熟且稳定的总线仿真与测试工具,深受汽车工程师们的喜爱。CANoe虽然稳定,但作为一个软件来说,在使用中总会出现一些或大或小的Bug。最近全球范围内的大规模蓝屏事件,是由某个安全软件引起的。而很多CANoe使用者最近…

linux常使用的命令

关机命令 shutdown halt poweroff reboot grep 选项 参数 -l 显示所有包含关键字的文件名 -n 在匹配之前加上行号 -c 只显示匹配的行数 -v 显示不匹配的行 管道符 “|” 左边的输出作为右边的输入 例如:我们找个文件包含abc 但是不含有def的文件 grep …

《如鸢》开通官号,女性向游戏爆款预定

今天,备受瞩目的沉浸式剧情卡牌手游《如鸢》正式开通了官方社媒账号并发布了玩家信。 《如鸢》由灵犀互娱倾力打造,游戏不仅拥有跌宕起伏的权谋剧情,更采用Live2D技术,为玩家带来沉浸式的游戏体验,吸引了众多玩家关注。…

西门子s7第三方(S7netplus)读写操作

和西门子PLC通讯需要使用S7netplus​​这个包,可以在NuGet​​上搜索下载,下载后引入命令空间using S7.Net;​​ 创建PLC对象进行连接使用Write Read进行读写操作即可不需要在发请求帧 //创建Plc对象Plc plc; //西门子设备是s7-1200//参数1 CPu类型//参…

AIGC大模型产品经理高频面试大揭秘‼️

近期有十几个学生在面试大模型产品经理(薪资还可以,详情见下图),根据他们面试(包括1-4面)中出现高频大于3次的问题汇总如下,一共32道题目(有答案)。 29.讲讲T5和Bart的区…

kubernetes管理GUI工具Lens

从github上可以知道,lens的前端是用electron做的客户端工具,打开安装路径你会发现kubectl.exe,没错,就是你经常用的kubectl命令行的客户端工具。kubectl本来就能输出json的数据类型,集成前端更方便了。看到这里你是不是发现&#…

怎么给电脑选一款合适的固态硬盘?就看这个参数!

前言 前段时间有很多小伙伴找小白修电脑,在修电脑的过程中,小白也会稍微看一下硬件配置。 小白就发现一个事情:很多小伙伴其实都不太懂电脑硬件。 为啥这么说呢?简单来说就是主板上使用了“不合适”的固态硬盘作为主系统硬盘。…

VSCode+Vue3无法找到模块“../components/xxxxx.vue”的声明文件的错误

莫名奇妙的错误 今天用Vue3写个demo,在components下面新建了一个DeviceList.Vue的文件,在HomeView引用它后居然报错,提示:无法找到模块“…/components/DeviceList.vue”的声明文件,真是离了个大谱,文件明…

C# Unity 面向对象补全计划 之 访问修饰符

本文仅作学习笔记与交流,不作任何商业用途,作者能力有限,如有不足还请斧正 本系列旨在通过补全学习之后,给出任意类图都能实现并做到逻辑上严丝合缝

人工智能的现状与未来展望

随着科技的飞速发展,人工智能逐渐成为人们关注的焦点。本文将分析当前人工智能的发展现状,并展望其未来的发展趋势。 一、引言 近年来,人工智能在全球范围内得到了广泛关注。作为一项具有广泛应用前景的技术,人工智能正在改变着…

仕考网:公务员可以报考军队文职吗?

公务员可以报考军队文职考试,但是需要满足前提条件。 对于已经与国家、地方的用人单位建立劳动关系的社会人才,在获得当前用人单位的许可后才可以申请报考。 在面试过程中,考生必须出示一份由其用人单位出具的且加盖公章的同意报考证明。一…

24导游证报名照片要求是什么❓整理好了❗

24导游证报名照片要求是什么❓整理好了❗ 导游资格考试今天开始报名啦! ⚠️考生们注意,需要上传免冠证件照、身份证扫描件、学历证明等照片信息! ⚠️这里需要注意一下上传的照片文件信息规格,否则上传失败,无法完…

计算机网络HTTP全讲解,让你透彻掌握HTTP协议(三)http长短连接/代理/网关/缓存/内容协商机制/断点续传

HTTP HTTP的长连接与短连接短链接长链接HTTP代理代理的作用HTTP网关web网关常见的网关类型HTTP缓存HTTP缓存头部字段HTTP缓存工作方式缓存改进方案cdn缓存工作方式浏览器操作对http缓存的影响HTTP内容协商机制客户端驱动服务器驱动请求首部集近似匹配透明协商断点续传和多线程下…