There is very little actual code/etc in openni2_launch, it is mostly a thin wrapper around openni2_camera and rgbd_launch.
openni2_launch主要是对openni2_camera和rgbd_launch封装
但是wiki上对rgbd_launch解释比较透彻
http://wiki.ros.org/rgbd_launch
rgb_processing
true:
输入:
rgb/image_raw
输出:
rgb/image_mono, rgb/image_rect_mono, rgb/image_color and rgb/image_rect_color.
debayer_processing
true:
和rgb_processing效果一样
false:
只输出rgb/image_rect_color
ir_processing
true:
对ir图进行矫正
ir/image_raw -> ir/image_rect_raw
什么是ir camera请看
http://wiki.ros.org/openni_launch/Tutorials/IntrinsicCalibration
depth_processing
true:
输入:
depth/image_raw
输出:
depth/image_rect_raw (rectified)-------矫正之后的深度图
depth/image (metric)------转成浮点数的深度图没有矫正
depth/image_rect (rectified, metric)------转成浮点数的深度图有矫正
depth/points (pointcloud)------点云
depth_registered_processing
true:
输出 registered RGBD pointcloud-----将深度图变换到灰度图下坐标然后进行融合和产生点云
sw_registered_processing
depth/image_rect_raw ->
depth_registered/sw_registered/image_rect_raw (registered) ->
depth_registered/points
AND
depth_registered/disparity
roslaunch openni2_launch之后比较有用的topic
/camera/depth/image
/camera/depth/image_raw
/camera/depth/image_rect
/camera/depth/image_rect_raw
/camera/depth/points
/camera/depth_registered/image_raw
/camera/depth_registered/points
/camera/depth_registered/hw_registered/image_rect
/camera/depth_registered/hw_registered/image_rect_raw
/camera/rgb/image_raw
/camera/rgb/image_rect_color
在使用openni2_launch时候如果depth_resgistration是false则会出现下面这种图
rosrun image_view image_view image:=/camera/depth_registered/sw_registered/image_rect_raw
将depth_resgistration改成true就好了