depth_image_proc下的nodelets:
1.depth_image_proc/convert_metric:
将毫米级的uint16深度图像转换为米级的float深度图像的nodelet。
(1)订阅的话题:
image_raw (sensor_msgs/Image)
uint16深度的图像,单位:mm。 openni设备专用。
(2)发布话题:
image (sensor_msgs/Image)
float深度图像,单位:m。 ros中推荐使用。
2.depth_image_proc/disparity:
转换depth图像为disparity图像。
(1)订阅主题:
left/image_rect (sensor_msgs/Image):校准深度图像
right/camera_info (sensor_msgs/CameraInfo)
相机校准和元数据。必须包含基线,它通常被编码到右相机的P矩阵中。
(2)发布话题:
left/disparity (stereo_msgs/DisparityImage)
Disparity图像(与深度图像负相关)主要是与立体相机进程交互。其他方面用深度图像替代。
(3)参数:
min_range (double, default: 0.0):最小检测深度。
max_range (double, default: +Inf):最大检测深度。
delta_d (double, default: 0.125):允许的最小差异增益,与深度精度有关,单位:pixel。
queue_size (int, default: 5):同步订阅主题的消息队列长度。
3.depth_image_proc/point_cloud_xyz
转换深度图像为xyz点云的nodelet。
(1)订阅话题:
camera_info (sensor_msgs/CameraInfo):相机校准和元数据。
image_rect (sensor_msgs/Image):校准后的深度图像。
(2)发布话题:
points (sensor_msgs/PointCloud2):XYZ点云。如果使用PCL,作为PointCloud
(3)参数:
queue_size (int, default: 5):同步订阅话题的消息队列长度。
4.depth_image_proc/point_cloud_xyzrgb
转换、配准 深度图像和RGB图像为xyzrgb点云的nodelet。
(1)订阅话题:
rgb/camera_info (sensor_msgs/CameraInfo):相机校准和元数据。
rgb/image_rect_color (sensor_msgs/Image):校准后的彩色图像。
depth_registered/image_rect (sensor_msgs/Image):
校准后的深度图像,配准了RGB图像。
(2)发布话题:
depth_registered/points (sensor_msgs/PointCloud2):XYZRGB点云。
在PCL中 = PointCloud
(3)参数:
queue_size (int, default: 5):同步订阅消息队列的长度。
5.depth_image_proc/register:
映射深度图像到另一个相机坐标系,需要两个相机的校准参数和转换的tf。
(1)订阅话题:
rgb/camera_info (sensor_msgs/CameraInfo):RGB相机校准和元数据。
depth/camera_info (sensor_msgs/CameraInfo):depth相机校准和元数据。
depth/image_rect (sensor_msgs/Image):校准后的深度图像。
(2)发布话题:
depth_registered/camera_info (sensor_msgs/CameraInfo):配准后的校准和元数据。
depth_registered/image_rect (sensor_msgs/Image):重映射深度图像到RGB坐标系中。
(3)参数:
queue_size (int, default: 5):同步订阅消息队列长度。
(4)tf:在订阅话题的头中被指定,这里是/depth_optical_frame → /rgb_optical_frame。