[点云分割] 区域增长分割

效果:

原始数据
分割结果

代码:

#include <iostream>
#include <vector>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h> // 各种点云数据类型
#include <pcl/search/search.h>
#include <pcl/search/kdtree.h>
#include <pcl/features/normal_3d.h>
#include <pcl/visualization/cloud_viewer.h>
#include <pcl/filters/filter_indices.h> // for pcl::removeNaNFromPointCloud
#include <pcl/segmentation/region_growing.h>int main(){pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>());if( pcl::io::loadPCDFile<pcl::PointXYZ>("/home/lrj/work/pointCloudData/table_scene_lms400.pcd", *cloud) == -1){std::cout << "cloud reading failed.\n";return (-1);}pcl::search::Search<pcl::PointXYZ>::Ptr tree (new pcl::search::KdTree<pcl::PointXYZ>);pcl::PointCloud<pcl::Normal>::Ptr normals(new pcl::PointCloud<pcl::Normal>);pcl::NormalEstimation<pcl::PointXYZ, pcl::Normal> normal_estimator;normal_estimator.setSearchMethod(tree);normal_estimator.setInputCloud(cloud);normal_estimator.setKSearch(50);normal_estimator.compute(*normals);pcl::IndicesPtr indices(new std::vector<int>);pcl::removeNaNFromPointCloud(*cloud, *indices);pcl::RegionGrowing<pcl::PointXYZ, pcl::Normal> reg;reg.setMaxClusterSize(50);reg.setMaxClusterSize(1000000);reg.setSearchMethod(tree);reg.setNumberOfNeighbours(30);reg.setInputCloud(cloud);reg.setIndices(indices);reg.setInputNormals(normals);reg.setSmoothnessThreshold(3.0 / 180.0 * M_PI);reg.setCurvatureThreshold(1.0);std::vector<pcl::PointIndices> clusters;reg.extract(clusters);std::cout << "Number of cluster is equal to " << clusters.size() << std::endl;std::cout << "First cluster has " << clusters[0].indices.size() << " points." << std::endl;std::cout << "These are the indices of the points of the initial" << std::endl<< "cloud thar belong to the first cluster:" << std::endl;std::size_t counter = 0;while (counter < clusters[0].indices.size()){std::cout << clusters[0].indices[counter] << ", ";counter++;if(counter % 10 == 0)std::cout << std::endl;}std::cout << std::endl;pcl::PointCloud<pcl::PointXYZRGB>::Ptr colored_cloud = reg.getColoredCloud();pcl::visualization::CloudViewer viewer("cluster viewer");viewer.showCloud(colored_cloud);while(!viewer.wasStopped()){}return(0);}

 

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

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

相关文章

Vue3 官推的状态管理 Pinia

Vue3 官推的状态管理 Pinia 一、Pinia是什么&#xff1f;二、Pinia的特点三、Pinia的使用1.npm install pinia -s2.创建pinia实例3.注册到App实例上4.模块化管理5.组件中使用6.路由中使用1.创建全局路由守卫2.全局守卫中使用全局状态 四、修改数据 $patch五、重置数据 $reset六…

《C++ Primer》第9章 顺序容器(一)

参考资料&#xff1a; 《C Primer》第5版《C Primer 习题集》第5版 C 中的容器可以分为 3 类&#xff1a;顺序容器、关联容器、无序关联容器。 9.1 顺序容器概述&#xff08;P292&#xff09; 所有顺序容器都提供了快速顺序访问的能力&#xff0c;但在以下方面的性能有所不…

【考研】数据结构(更新到双链表)

声明&#xff1a;所有代码都可以运行&#xff0c;可以直接粘贴运行&#xff08;只有库函数没有声明&#xff09; 线性表的定义和基本操作 基本操作 定义 静态&#xff1a; #include<stdio.h> #include<stdlib.h>#define MaxSize 10//静态 typedef struct{int d…

Semaphore使用acquire和tryAcquire方法案例

Semaphore(信号量)可以用来控制同时访问特定资源的线程数量 acquire()方法&#xff1a; 当使用acquire()方法时&#xff0c;如果没有或许到许可证就会被堵塞&#xff0c;直至获得了许可证。 tryAcquire()方法&#xff1a; 当使用tryAcquire()方法时&#xff0c;如果没有获取…

Redis入门指南学习笔记(3):Redis高级特性

一.前言 上一篇博客对Redis常用的数据结构进行了详细介绍。Redis除了丰富的数据类型支持&#xff0c;还包含许多高级特性&#xff0c;例如事务、内存驻留策略、排序、消息队列等&#xff0c;本文将对这些进行逐一介绍。 二.事务 Redis同样包含事务&#xff08;transaction&a…

Vue2系列 — 渲染函数 (render + createElement)

官网文档&#xff1a;https://v2.cn.vuejs.org/v2/guide/render-function.html 1 render 函数 render 函数 不使用模板&#xff0c;使用 js 生成虚拟 dom 2 createElement() 接受的参数&#xff1a; 参数1 节点类型参数2 attribute参数3 子节点 3 DEMO <template>&…

git 泄露

得到flag有两种方法&#xff1a; 1、版本比对&#xff1a;git diff 用法&#xff1a;git diff <分支名1> <分支名2> 2、版本回退&#xff1a;git reset 用法&#xff1a;git reset --hard <分支名> python2 GitHack.py http://www.example.com/.git/ g…

AppLink结合金蝶云星空作订单信息同步流程

此次通过AppLink&#xff0c;根据请求数据金蝶云星空做销售订单信息同步拉取 在获取订单信息前需要得到金蝶云星空授权&#xff0c;详细授权步骤可查看&#xff1a;金蝶云星空授权指南 根据请求数据在金蝶云星空保存销售订单 当webhook接收到数据时触发流程 步骤1&#xff…

【数据库】数据库中的备份与恢复,保障容灾时的数据一致性与完整性

数据库的备份机制 ​专栏内容&#xff1a; 手写数据库toadb 本专栏主要介绍如何从零开发&#xff0c;开发的步骤&#xff0c;以及开发过程中的涉及的原理&#xff0c;遇到的问题等&#xff0c;让大家能跟上并且可以一起开发&#xff0c;让每个需要的人成为参与者。 本专栏会定期…

oracle数据库常见巡检脚本-系列一

简介 作为数据库管理员&#xff08;DBA&#xff09;&#xff0c;定期进行数据库的日常巡检是非常重要的。以下是一些原因&#xff1a; 保证系统的稳定性&#xff1a;通过定期巡检&#xff0c;DBA可以发现并及时解决可能导致系统不稳定的问题&#xff0c;如性能瓶颈、资源利用率…

MATLAB对比两txt文件内容是否一致

实现功能 对比两txt每行的内容是否一致&#xff0c;若一致则输出’完全一致’&#xff0c;不一致则输出’第 %d 行不一致’;若行数不等则输出’文件1比文件2少/多%d行’ MATLAB代码 注意修改代码中txt文件名 clear all;close all;clc; %清理工作区&#xff0c;关闭所有窗口…

详解自动化之单元测试工具Junit

目录 1.注解 1.1 Test 1.2 BeforeEach 1.3 BeforeAll 1.4 AfterEach 1.5 AfterAll 2. 用例的执行顺序 通过 order() 注解来排序 3. 参数化 3.1 单参数 3.2 多参数 3.3 多参数(从第三方csv文件读取数据源) 3.4 动态参数ParameterizedTest MethodSource() 4. 测试…

this的指向问题

1、script 全局环境下 this指向window console.log(this)//window 2、函数直接调用 this代表window ,函数内部开启严格模式, this 指向 undefined use strict 开启严格模式 function f(){console.log(this)} f()//window 开启严格模式 function f(){//严格…

SolidWorks快捷键

SolidWorks快捷键 SolidWorks快捷键1.Windows通用类2.视图、模型移动操作类3.设计树操作类4.草图类5.选择过滤类6.装配相关快捷键7.重画重建类8.其他F类快捷键9.其他快捷键 SolidWorks快捷键 SolidWorks快捷键可在软件里自行设置&#xff0c;自定义鼠标笔势&#xff0c;这里列…

机器学习第12天:聚类

文章目录 机器学习专栏 无监督学习介绍 聚类 K-Means 使用方法 实例演示 代码解析 绘制决策边界 本章总结 机器学习专栏 机器学习_Nowl的博客-CSDN博客 无监督学习介绍 某位著名计算机科学家有句话&#xff1a;“如果智能是蛋糕&#xff0c;无监督学习将是蛋糕本体&a…

已发表的paper

文章目录 2019202120222023 2019 基于改进权重映射的高分辨率遥感影像建筑实例分割 2021 HA U-Net: Improved Model for Building Extraction From High Resolution Remote Sensing Imagery (SCI) 地块尺度的山区耕地精准提取方法 &#xff08;EI&#xff09; 2022 基于深…

vue3-组合式API

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;Vue篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来vue篇专栏内容:vue3-组合式API 目录 组合式API 1.1 什么是组合式API 1.2 为什么使用它 1.2.1 更好的逻辑复用#…

“云浮云福保”暖心回归! 保障升级价格不变,医保个账可为全家缴费!

11月22日&#xff0c;2024年“云浮云福保”项目启动会在广东省云浮市迎宾馆成功举办。记者在会上获悉&#xff0c;“云浮云福保”是在云浮市医疗保障局、云浮市金融工作局、国家金融监督管理总局云浮监管分局指导下&#xff0c;的指导下&#xff0c;由中国人民财产保险股份有限…

高斯Filter 和 Bilateral Filter

参考链接&#xff1a; Python | Bilateral Filtering - GeeksforGeeks 高斯Filter&#xff1a; 高斯模糊后的图像中的每个像素的强度是由它周围的像素的加权平均得到的&#xff0c;这个权重就是高斯函数的值&#xff0c;它取决于像素之间的距离。具体来说&#xff1a; 通常会导…

程序员指南|学会与大模型相处,提升个人开发效率

过去一年&#xff0c;通过各种平台我们可以轻而易举的接收到人们关于使用大模型遇到诸多问题的声音。然而&#xff0c;显而易见的是&#xff0c;大模型可以在许多方面提高我们的效率&#xff0c;尤其是在处理文档、测试用例和代码等繁琐事务方面。 大模型的优势和短板是什么&a…