如何用Julia计算偏度与峰度并解决激光雷达点云分类死循环问题
激光雷达点云地面与道路区分需求及问题
我正在处理激光雷达点云数据,计划通过计算**偏度(skewness)和峰度(kurtosis)**来区分道路与地面。当前强度列的分布如图:
我想了解该方法在其他编程语言中的实现方案,同时参考了以下处理逻辑:
首先计算点云的偏度,若偏度大于0,则点云分布由峰值主导(如表1所示)。因此将点云中的最大值标记为目标点以剔除。重复执行上述步骤,直至点云偏度不大于0,以此分离所有地面点与目标点。
代码问题更新
我基于上述逻辑编写了Julia代码,但陷入无限循环,当前通过StatsBase.skewness(poi.intensity)计算得到的偏度值约为0.125:
data = rand(Gamma(7.5, 1.0), 75) th=maximum(data) classification=rand(2:3,length(data)) poi=Table(intensity=data,classification=classification) while sk > 0 poi.classification[findall(poi.intensity .== th)] .= 7 #object th = th .- 1 sk = skewness(poi.intensity[findall(poi.classification .== 2)]) print(sk) end
内容的提问来源于stack exchange,提问作者F612
相关产品推荐
相关产品推荐

