3D点云常见的数据结构有哪些?
常见的数据结构有:深度图、点云、体像素、三角剖分、八叉树和KD树。
为什么要进行数据格式的转换?主要是为了方便计算。
点云转化成体像素
步骤:
- 用一个大立方体罩住点云;
- 把大立方体切分成小立方体;
- 如果小立方体中存在点云,该立方体置 1 1 1;否则,置 0 0 0;
- 程序通过三维数组存储数据;
特点
- 存储量大;
- 可以进行逻辑运算;
点云如何转化为八叉树格式
步骤:
- 用一个大立方体罩住点云;
- 如果一个立方体内点云数量超过 1 1 1 个,将其分为 8 8 8 块;
- 并对其中每一块执行步骤 2 2 2;
特点
- 比体像素更加高效的存储 3D 物体;
点云如何转化为KD树结构
步骤:
- 用一个大立方体罩住点云;
- 如果立方体超过 1 1 1 个点云,则穿过其中一个点,构建分割面;将空间分成两块,分割面平行于 XOY 或者 YOZ 或者 XOZ 平面;
- 以此对剩下的空间执行 步骤2,直至不可分;
特点
- kd-tree 可以实现快速最近邻查找;