首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何利用激光雷达距离数据生成三维点云

如何利用激光雷达距离数据生成三维点云
EN

Stack Overflow用户
提问于 2017-03-12 16:42:30
回答 2查看 1.9K关注 0票数 1

我有一组用激光雷达拍摄的视频。我的数据是原始的,这意味着每个视频文件包含范围和强度(灰度)数据。现在,我想从范围数据创建三维点云。根据我所读到的,我所拥有的Lidar数据看起来与Kinect数据(深度+强度)基本相同。但是,虽然有一些代码和方程可以让你把Kinect深度转换成三维点云,但我还没有为Lidar数据找到这样的方程。我希望有人能帮助我的方程式或样本代码(最好在Matlab中),以完成从激光雷达距离数据到三维点云转换。

编辑:的视频,我有人的目标,无论是室内和室外。不幸的是,我不能分享任何数据。用于视频记录的激光雷达摄像机是TigerCub三维闪光激光雷达。我没有任何进入相机的权限,只有数据。此外,我检查了相机的手册,但找不到任何有用的信息。就像Kinect一样,我认为范围(深度)数据和三维点云之间一定有关系,我所需要的就是这样一个方程来帮助我生成三维点云。

EN

回答 2

Stack Overflow用户

发布于 2017-03-15 23:07:21

对于另一个有同样问题的人来说,这可能是有用的。基本上,3D flash Lidar相机的操作(甚至看起来)非常类似于2D数码相机。三维闪光激光雷达相机的焦平面阵列有逐行和列的像素,但它也捕获了物体的深度或范围的三维数据,后者称为距离数据。这意味着三维闪光激光雷达相机产生的强度以及距离数据。

三维闪光激光雷达和二维数码相机的相似性使得我们可以将同样的针孔摄像机类比于2D数码相机,应用于三维闪光激光雷达相机。因此,Lidar距离数据中的三维点云可以通过以下公式计算:

代码语言:javascript
复制
x(pointCloud)= x(image)*range/f 
y(pointCloud)= y(image)*range/f 
z(pointcloud)= range

你只需要乘以一个常数,就可以得到你想要的单位中的数据(取决于f的单位,它是相机的焦距)。x、y (图像)和范围是点上的x、y和范围(从距离数据中提取),x、y和z(pointCloud)是点云中的对应坐标。有关详细说明,请参见本论文

票数 2
EN

Stack Overflow用户

发布于 2022-07-14 09:12:04

我认为您可以参考这个工具https://github.com/PRBonn/semantic-kitti-api,它中的visualize.py对由KITTI获得的原始xyz数据执行范围转换。您可以引用它来更改参数。您可以将xyz转换为range,将范围数据转换为xyz数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42750101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档