提取点云聚类后的结果

1思路

点云中有多组点,通过点云聚类找出其中点数最多的一组。

2代码

pcl::search::KdTree<pcl::PointXYZRGBA>::Ptr tree(new pcl::search::KdTree<pcl::PointXYZRGBA>);
	tree->setInputCloud(cloud_box);
	std::vector<pcl::PointIndices> cluster_indices;
	pcl::EuclideanClusterExtraction<pcl::PointXYZRGBA> ec;
	ec.setClusterTolerance(0.02); 
	ec.setMinClusterSize(100);    
	ec.setMaxClusterSize(50000);  
	ec.setSearchMethod(tree);     
	ec.setInputCloud(cloud_box);  
	ec.extract(cluster_indices);  
	size_t num = cluster_indices.size();
	cout << num << endl;
	int num_points = cluster_indices[0].indices.size();
	int num_index;
	for (size_t i = 0; i < num; i++)
	{
		if (cluster_indices[i].indices.size() > num_points)
		{
			num_points = cluster_indices[i].indices.size();
			num_index = i;
		}		
	}
	pcl::copyPointCloud(*cloud_box, cluster_indices[num_index].indices, *cloud_box_filter);

3效果

在这里插入图片描述
在这里插入图片描述


---------------------
作者:Younger.L
来源:CSDN
原文:https://blog.csdn.net/PCL_CLOUD/article/details/102764923
版权声明:本文为作者原创文章,转载请附上博文链接!
内容解析By:CSDN,CNBLOG博客文章一键转载插件

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
点云聚类是一种在三维点云数据中分组或分类点的技术。Matlab是一个功能强大的数值计算和科学编程环境,为点云聚类提供了丰富的工具和函数。 在Matlab中,点云数据可以由(x, y, z)坐标表示。点云聚类的目标是将这些点分成几个相似的组或类别。为了实现点云聚类,可以采用以下步骤: 1. 数据准备:将点云数据导入Matlab环境。可以使用MATLAB内置函数或第三方工具箱处理和可视化点云数据。 2. 特征提取:通过计算点云数据的特征向量来描述每个点的属性。常用的特征包括点的位置、法向量、曲率等。这些特征将用于确定点云的相似性。 3. 相似性度量:通过计算点与点之间的相似性度量来度量点云之间的相似性。相似性度量可以使用欧氏距离、曼哈顿距离或其他相似性度量方法。 4. 聚类算法:选择适当的聚类算法点云进行聚类。常用的聚类算法包括k-means、DBSCAN和层次聚类等。Matlab提供了这些算法的函数和工具箱。 5. 聚类结果可视化:将聚类结果可视化以便于理解和分析。可以使用Matlab的图形绘制函数来可视化聚类结果,如散点图或柱状图。 除了这些基本步骤之外,还可以在聚类过程中进行参数调整、降维处理、噪声数据过滤等进一步处理。 总的来说,Matlab提供了丰富的工具和函数,可以帮助我们对点云数据进行聚类分析。通过合适的数据准备、特征提取聚类算法选择,可以实现有效的点云聚类

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值