关于采用LAS格式点云文件实现点云分类的一些看法

最近因项目需求,尝试实现输电线路点云的自动分类(分为地面点、植被点、电力线点、杆塔点四类),最初我根据输电线路固有特征实现了这个功能,统共写了2000多行代码,分类时间长达40多分钟。而一些公司中的软件分类可以在十几秒内完成,这不禁让人思考他们是怎么做到的,这些天,我通过查阅资料和读cloudcompare的代码(cloudcompare也可以实现这个功能),终于找到了答案。

答案很简单,之前做的那么麻烦是因为不了解LAS文件的格式,首先看一下LAS文件格式,LAS文件按每条扫描线排列方式存放数据,包括激光点的三维坐标、多次回波信息、强度信息、扫描角度、分类信息、飞行航带信息、飞行姿态信息、项目信息、GPS信息、数据点颜色信息等。LAS格式定义中用到的数据类型遵循1999年ANSI(AmericanNationalStandardsInstitute,美国国家标准化协会)C语言标准。如下图所示:

图中的C就是该点所属类别,该字段前0 到4位(即所属类别用一个五位二进制数表示)用来存储包括未分类点,地面点,低矮植被到建筑物等32 种分类。各类别信息如下:

也就是说,假如我要提取出当前LAS文件点云中的地面点,那么我们提取出该点云文件中所有类别信息为“2”的点即可,而各个公司中的软件也是利用到了这一点,这也是LAS点云文件的一个优势。而我在利用这一点之后,也是很快实现了分类,基本上不用做多余的点云处理,效果如下图示:

这也是我自行制作的用于输电线路的点云处理软件,当前还很low,还需继续完善呐!

总而言之,在今后使用las格式点云文件进行分类时,一定要利用好las格式本身提供的分类信息,这样做起来事半功倍。

QQ:1826380364

猜你喜欢

转载自blog.csdn.net/qq_33656619/article/details/108026577