一步一步分割出杯子模型

本文详细介绍了如何通过直通滤波、法线估计和SACSegmentationFromNormals算法从原始点云数据中逐步提取3D杯子模型。首先,通过设置z轴范围保留感兴趣区域,接着估计法线并进行平面拟合去除背景,最后进行圆柱拟合以获取精确的杯子点云和模型参数。
摘要由CSDN通过智能技术生成

分割杯子模型,主要组合如下的接口:

1.  PassThrough 直通滤波,保留感兴趣区

2.  NormalEstimation 法线估计

3.  SACSegmentationFromNormals 法线方向的模型拟合分割

原始点云如下:

使用pcd_viewer查看点云 

第一步,读取点云:

 读取点云

第二步,提取感兴趣部分:

 使用 直通滤波,设置 z = 0~1.5之间

第三步, 估计法线、进行平面拟合分割:

提取平面,然后就只剩下 杯子的点云,对应的标号3的位置 

第四步,使用 圆柱拟合提取杯子模型:

 在第三步的剩下的点云里继续拟合分割,得到杯子点云和模型参数

整个步骤比较清晰,一步一步实现了杯子的拟合。

编写核心的 拟合代码插件如下:

struct SegSacModelWithNormals
{
    bool random = false;
    int model = 0; //所提取目标模型的属性(平面、球、圆柱等等)
	int method = 0; // SAC_RANSAC  = 0; SAC_LMEDS = 1; SAC_MSAC = 2; SAC_RR
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值