Faking Xtion to convert depth and rgb to point cloud.

asked 2014-10-30 17:39:10 -0500

Maya gravatar image

updated 2014-11-05 19:24:38 -0500

Hello all !

Sorry it might sounds like stupid question to some of you but I'm stuck on some 3D image problem.

I'd like to use a rosbag from here and I need to convert depth and rgb image to a point cloud. Quite the classical problem.

I tried couple of way to do it, but I have several problems in doing so :

  • I found the image pipeline with depth_image_proc and use this launch file to use it. The thing is I need tons of information about the camera. I know the dataset I want to use was recorded by a Xtion Pro by Asus, is there any package or way to "fake" using a Xtion. One idea I had was just to publish the data in a node but I want to know if there is something better out there than doing this myself.

  • Could I use openni2_launch without a camera. I mean is there any way for me to tell it that it's an Xtion and then link it to my deth and rgb image in the rosbag ?

  • I though about doing a very basic conversion by creating a node that would use the depth image and the rgb and combined them together. I get I need to know information such as the focal of the camera and so and I can find that. However I'm not able to find any good tutorial on how to combine them, which formula to use ? I know it must sound like a stupid question but I can't figure it out for now :/.

  • In the launch file with the link about there is this piece of code :

    <node pkg="nodelet" type="nodelet" name="cloudify" args="load depth_image_proc/point_cloud_xyzrgb record_player_manager --no-bond"> <remap from="depth_registered/image_rect" to="camera/depth/image"/> <remap from="depth_registered/points" to="camera/depth_registered/points"/> <remap from="rgb/image_rect_color" to="$(arg cloud_input_ns)/image_rect_color"/> <remap from="rgb/camera_info" to="$(arg cloud_input_ns)/camera_info"/> </node>

Can someone explain to me what are depth_registered/image_rect and depth_registered/points ? I get the camera information and rgb image ones but I only have one depth image so why does it have two depth argument ?

Sorry if I'm not being very clear. Just ask for more detail if you need I'll be happy to give some.

Thanks, any help is appreciated !

edit retag flag offensive close merge delete


depth_registered/image_rect should be the rectified 2d depth image, depth_registered/points is a 3d point cloud calculated with the intrinsic parameters No experience with it, but can you not just play the bag and then look at the node you want? http://wiki.ros.org/rosbag/Commandline

AReimann gravatar image AReimann  ( 2014-11-02 19:05:35 -0500 )edit

So depth_registered/point is the point cloud at the end ? So the node would published on this topic ? I don't really get what you mean by "play with the bag" :P? I actually know what topic are published by the bag, my problem is more about using the image pipeline to have a point cloud at the end.

Maya gravatar image Maya  ( 2014-11-05 19:24:06 -0500 )edit

Play a bag: http://wiki.ros.org/rosbag/Tutorials/...

The bag uses a non-standard message type though, so you would have to add that yourself ( http://wiki.ros.org/ROS/Tutorials 1.2.5).

AReimann gravatar image AReimann  ( 2014-11-06 04:31:16 -0500 )edit

Maybe take a look at this afterwards: http://answers.ros.org/question/18832... Or check out the nodelet tutorial and maybe the other tutorial also. ROS is not an install and go system...

AReimann gravatar image AReimann  ( 2014-11-06 04:32:24 -0500 )edit

I know it's not an install and go system. Sorry I misread you on your first message, I can actually already play the bag file. I already dug in the nodelet tutorial as well :|. Guess I'll do a node by hand that send camera data to simulate an Xtion, seems like the easiest. Thanks for your help

Maya gravatar image Maya  ( 2014-11-21 04:26:08 -0500 )edit