利用深度相机采集深度图和彩色图会面临一个问题,如何实现同步采集数据?
以下是我搜集到的两点方法:
1)Intel官方提供的realsense开发包中,有一份save-to-disk的CPP源码。运行该代码可以同步获取彩色图和深度图。
Note:我在编译安装SDK的时候,运行了make install,将执行文件安装到 /usr/local/bin 目录中。在该目录中运行代码时,受权限限制,获取的图片数据无法保存。因此,正确方法是在“ /home 及其下级目录”中运行代码,图像数据才能够保存。
实操如下所示:
然而,该源码获取的深度图没有配准处理,不能直接合成点云。
机器视觉中,3D相机产生的深度图像(depth image)通常需要配准(registration),以生成配准深度图像(registed depth image)。实际上配准的目的就是想让深度图和彩色图重合在一起,即是将深度图像的图像坐标系转换到彩色图像的图像坐标系下。附上深度图像配准原理的链接。
2)利用rosbag同步采集彩色图和配准深度图像
创建bagfiles文件夹,将彩色图和配准深度图两个topic记录到subset.bag中。
mkdir bagfiles
cd bagfiles
rosbag record -O subset /camera/aligned_depth_to_color/image_raw /camera/color/image_raw
查看bag的信息
rosbag info ***.bag
播放bag的内容
rosbag play ***.bag