1

我有一组由激光雷达捕获的视频。我的数据是原始数据,这意味着每个视频文件都包含范围和强度(​​灰度)数据。现在,我想从范围数据创建 3D 点云。根据我阅读的内容,我拥有的激光雷达数据看起来与 Kinect 数据(深度 + 强度)几乎相同。但是,虽然有代码和方程可以让你将 Kinect 深度转换为 3D 点云,但我还没有找到任何适用于激光雷达数据的方程。我希望有人可以帮助我处理从激光雷达范围数据到 3D 点云的转换的方程式或示例代码(最好在 Matlab 中)。

编辑:我的视频包含室内和室外的人类目标。不幸的是,我无法分享任何数据。用于视频录制的激光雷达相机是 TigerCub 3D 闪光激光雷达。我没有任何访问相机的权限,只有数据。另外,我查看了相机的手册,但找不到任何有用的信息。就像 Kinect 一样,我认为距离(深度)数据和 3D 点云之间一定存在关系,而我所需要的只是这样一个方程来帮助我生成 3D 点云。

4

1 回答 1

2

这可能对另一个有相同问题的人有用。基本上,3D 闪光激光雷达相机的操作(甚至外观)与 2D 数码相机非常相似。3D闪光灯激光雷达相机的焦平面阵列具有行和列的像素,但它还捕获对象的深度或范围的第三维数据,后者称为范围数据。这意味着 3D 闪光激光雷达相机会生成强度和距离数据。

3D 闪光激光雷达和 2D 数码相机之间的相似性让我们将 2D 数码相机的相同针孔相机类比应用于 3D 闪光激光雷达相机。因此,来自激光雷达距离数据的 3D 点云可以通过以下等式计算:

x(pointCloud)= x(image)*range/f 
y(pointCloud)= y(image)*range/f 
z(pointcloud)= range

您只需乘以一个常数即可获得所需单位的数据(取决于 f 的单位,即相机的焦距)。x,y(image), and range 是每个点的 x, y 和 range(从范围数据中提取), x,y, and z(pointCloud) 是点云中的对应坐标。有关完整的解释,请参阅本文

于 2017-03-15T23:07:21.390 回答