TOF 3D相机数据中距离Z的计算关系:
问题:得到的距离,是俩点之间的距离,并不是深度,所以要做一下变换。
这里是将光源和相机重合在一起计算得到的,正常情况下,相机和光源是不重合在一起的。
可以结合针孔相机的数学模型:
点云重投影到深度图
好不容易得到点云图,为什么又要反投影回去呢?
1.修正相机镜头和地面之间的不平行(这一点我还不是很清楚)
2.视角归一化(这对不同角度的拍摄,可以通过这种方式,归一化)
3.RGB-D融合
重投影的问题:
1)在重投影的过程中,经常会出现遮挡的问题,原因是:
对此解决的办法是,在深度图中只保留,近距离物体的深度。
2)透射现象
这个是因为近景点云 的点比较少,浮在上方,所以能够看到远景点云的点。
对此解决的方法是,采用腐蚀操作(灰度图腐蚀)
3D数据的体像素存储
大体思想:将空间划分成为立方体网格格点,当存在点云时,格点内容置1,否则置0.
其实这样的快速实现方法,是有一定的缺陷的。
(未考虑一个立方体中,里面有多个点,还有这样的方式对内存的占用比较大,还有量化的方式)
体像素的应用
八叉树,首先从4叉树说起:
2D数据的4叉树构建方法
1. 构建立方体包围所有空间点云,对应树的根节点
2.给定一个空间(对应一个树的结点)
• If 点的数量=0,则该节点不再分割,作为空的叶节点
• Else-if 点的数量=1,则该节点不再分割,作为叶节点,记录其中点的坐标
• Else 将该空间拆分为4个子空间,对应树的4个分枝,对拆分的每个子空间,递归的执行步骤2
考虑到如果有2个点离的比较近,会带来4叉树无限制的划分,所以必须加上限制。
节点拆分的条件可以改变成:
1.点的数量小于给定正整数K
2.分割矩形边长小于门限
4叉树的应用:
1.用于查询某个给定的2D点是否已经被其他点占据(碰撞检测)
2.光线跟踪——检测射线穿越的2D空间会遇到的物体