如何将 3D 边界框从点云转换为 ROS 中匹配的 RGB 帧?

How to transform a 3D bounding box from pointclouds to matched RGB frames in ROS?

我正在 ROS 上使用深度相机 realsense D455 进行 SLAM (https://github.com/IntelRealSense/realsense-ros/wiki/SLAM-with-D435i),我能够创建环境的 3D 点云。 我是 ROS 的新手,我的目标是在全局点云区域绑定一个 3d 框,然后在与全局点云中的点(相同坐标)匹配的 RGB 帧上转换相同的框。 现在我有 RGB、深度和点云主题和 tf,但由于我是这个领域的新手,我不知道如何找到与全局点云中每个点匹配的 RGB 帧? 以及如何从点云到 RGB 帧进行相同的操作? 如果有人能帮助我,我将不胜感激

  • 获取 3D 边界框点。
  • 将它们转换为相机的框架(z 是深度)。
  • 生成相机的标定模型(相机的内部和外部参数、焦距等)-> 检查 openCV model, Scaramuzza Model 或其他立体相机标定模型
  • 将 3D 点投影到 2D 像素。 (openCV 有一个 projectPoints() 函数)。