• CloudCompare点云体积计算方法


    1.点云体积的计算

     网格化,计算点云各部分的体积,进行累加三角化之后放入UG或者solidworks,就可以输出体积,可以根据不同的密度输出质量,
    

    2 点云/网格模型的体积计算

    参考 点云/网格模型的体积计算如下参考以上博客,使用cloudCompare

    2.1 点云体积计算

         用激光扫描设备扫描零件或者用无人机进行测量后会想知道它们的体积。如果扫描得到的数据是一系列三维点云,那么体积就比较难求,因为如何定义物体的边界比较困难。比如下面的土堆:
    

        1. 一种方法是提取三维点云的凸壳(包络体),然后再进行计算(当存在孔、洞时情况就很复杂了)。
        2. 一种简便的估算方法如下图所示,**将2.5D点云底面划分成离散的网格,计算每个网格对应单元的体积并相加求和**。
    

    CloudCompare软件中提供了计算2.5D点云体积的功能:

        1. 导入PCD格式的点云,其体积大概为1(在XYZ方向分别生成0-1的随机数,一共200个随机点): 
    

        2. 在体积计算界面中定义地面(Ground)及顶面(Ceil):这里地面选为常量,值为0;
    

        3.顶面选为点云,空单元(不包含数据点)不参与体积计算,
        4.这里将其选为leave empty。
        5.网格划分步长step不能选的太大或太小,选的太小将会有很多单元成为空单元,选的太大会出现较大的计算误差。
    

       6.**下图可以看出步长设的太小,导致Matching cell为0,即全是空单元,因此计算出的体积也为零,显然不符合实际情况**:
       7.**设置合理的步长后点击Update进行计算,可以看到估算出的点云体积为1.311接近1**:
    

    2.2 网格模型体积计算

        三角化之后再进行计算,在CloudCompare软件中也可以很方便的对网格模型进行体积、表面积测量:
    

  • 相关阅读:
    每日总结
    SQLServer2008/2005 生成数据字典SQL语句
    python一些utils
    python快速展示图片
    面向对象编程
    Arrays类讲解 冒泡排序
    方法的定义、方法的调用及方法的重载
    .Net6 连接 redis
    Stream流的基本使用
    uniapp 页面之前通讯传值 义美
  • 原文地址:https://www.cnblogs.com/codeAndlearn/p/12317673.html
Copyright © 2020-2023  润新知