image - 使用 RGB 图像和点云,如何从点云生成深度图?(Python)
问题描述
我正在融合激光雷达和相机图像,以便使用 CNN 执行分类对象算法。
我想使用提供同步激光雷达和 rgb 图像数据的 KITTI 数据集。激光雷达是 3D 扫描仪,因此输出是 3D 点云。
我想使用来自点云的深度信息作为 CNN 的通道。但我从未使用过点云,所以我寻求帮助。将点云投影到相机图像平面(使用 Kitti 提供的投影矩阵)会给我想要的深度图吗?Python libray pcl 有用还是我应该转向 c++ 库?
如果您有任何建议,请提前感谢您
解决方案
我不确定 Kitti 提供的投影矩阵包括什么,所以答案取决于它。如果这个投影矩阵只包含一个变换矩阵,则不能从中生成深度图。2D 图像具有来自 2D 相机的失真,而点云通常没有失真,因此您无法在没有内在和外在参数的情况下将点云“精确”映射到 rgb 图像。
PCL 不需要这样做。
深度图本质上是将深度值映射到 rgb 图像。您可以将点云中的每个点(lider 的每个激光)视为 rgb 图像的一个像素。因此,我认为您需要做的就是找到点云中对应于 rgb 图像的第一个像素(左上角)的点。然后根据 rgb 图像分辨率从点云中读取深度值。
推荐阅读
- angular - 如何使用 Swagger Codegen 配置端口
- android - 在android中更新应用程序后如何获取以前的apk版本代码?
- javascript - 运行 react-native 应用程序时出现警告
- java - 从文件写入数据库
- python - Python如何按字典顺序枚举k-mers
- reactjs - 尝试更改状态时做出反应的未知错误
- asp.net - 即使在传递数据之后,JsonElement 参数的 valuekind 也未定义?
- javascript - 无法读取未定义反应错误的属性“长度”
- http - 服务器如何调用端点 https 或 http
- git - 如何在 VS 中添加文件并将其推送到克隆存储库中