这是一个随处可见的聚类方案
// cluster the pointcloud according to the distance of the points using different thresholds (not only one for the
// entire pc)
// in this way, the points farther in the pc will also be clustered
- 下面的code设定了条件其实没有太理解,没有看见加速的部分代码
- 在code里没有定义,但是在cmake文件中有相关配置,实际情况中是运行了这个条件下的code。
利用一个for循环转换点云类型。这里有没有直接xyzrgb转xyz类型的函数呢。如果有估计内部也是如此一个循环,哈哈。
转换函数
聚类
没有定义 GPU_CLUSTERING
利用对输入点云进行聚类,返回聚类指针类型的容器。
clusterAndColor()
其实这里可以注意到传入点云类型为而传出点云类型
定义 GPU_CLUSTERING
其实就是利用cuda加速聚类
涉及到文件
这里的函数是的一个方法见另一篇博客。
// 0 => 0-15m d=0.5
// 1 => 15-30 d=1
// 2 => 30-45 d=1.6
// 3 => 45-60 d=2.1
// 4 => >60 d=2.6
关于insert
c.insert(pos,beg,end) // 在pos位置插入在[beg,end)区间的数据。无返回值。
合并聚类
如果其实是没有必要合并聚类的。因为就没有分开聚类
这里定义的容器类型为ClusterPtr(后面补充,是一个自定义的类)
两次检查并合并点云。合并结果为:pictogram
checkClusterMerge()
根据两个聚类质心距离判断是否要合并 这是一个嵌套函数 返回merge_indices
mergeClusters()合并聚类
checkAllForMerge()
输入输出都是引用类型和一个合并的阀值。
聚类属性整理输出
以上就是本篇文章【autoware 点云聚类 四 分段聚类】的全部内容了,欢迎阅览 ! 文章地址:https://sicmodule.kub2b.com/news/9085.html
栏目首页
相关文章
动态
同类文章
热门文章
网站地图
返回首页 企库往资讯移动站 https://sicmodule.kub2b.com/mobile/ , 查看更多