Faking Xtion to convert depth and rgb to point cloud.
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 !
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
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.
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).
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...
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