Ask Your Question
2

Kinect: how do I convert depth image to pointcloud?

asked 2012-02-19 03:33:27 -0600

Kevin gravatar image

updated 2016-10-24 09:04:01 -0600

ngrennan gravatar image

I want to send kinect data wirelessly to a desktop computer. Point clouds consume a lot of bandwidth, so I want to send the depth images instead. But on my desktop computer, what is the easiest way to convert those depth images into point clouds? Do I have to make my own node and just grab the correct point cloud functions out of the kinect driver or has someone already done that?

edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted
1

answered 2012-04-15 02:26:31 -0600

Kevin gravatar image

There also now appears to be a new package depth_image_proc in the image_pipeline stack for Fuerte that will take a Kinect uint16 image and transforms it into a point cloud.

edit flag offensive delete link more

Comments

are there any tutorials on that package? I have been trying so hard to find a way to use that package on my rosbag data, but still got no luck. Really frustrated

huangzonghao gravatar imagehuangzonghao ( 2018-07-27 22:25:30 -0600 )edit
5

answered 2012-02-19 05:10:36 -0600

updated 2012-02-19 05:10:55 -0600

The openni_kinect driver provides that functionality. It's broken up in nodelets - some are responsible for publishing the images, and some for processing them and assembling point clouds.

Normally, you start one nodelet manager, and all nodelets together on the same machine. In your use case, you would have to start two nodelet managers - one on for each machine on the end of the WiFi connection.

I had set up some launch files for a similar purpose a while back. You can find them here:

http://robotics.ccny.cuny.edu/data/kinect/launch_modular/

The openni_driver file is responsible for publishsing the image data, and the opneni_proc file is responsible for assembling it to 3D. They were set up for a single nodelet manager, so you would have to modify that.

edit flag offensive delete link more

Comments

1

I found the documentation for the nodelets but haven't had time yet to try them with your launch files ... thanks!

Kevin gravatar imageKevin ( 2012-02-26 01:22:53 -0600 )edit

Unfortunately the URL http://robotics.ccny.cuny.edu/data/ki... is broken

lisa gravatar imagelisa ( 2016-08-16 04:35:54 -0600 )edit
0

answered 2012-02-19 06:34:50 -0600

Mac gravatar image

The openni_record_player nodelet (which is in the semanticmodel package) does exactly this. It was developed to allow easy recording of Kinect data to disk, but should adapt to your use case pretty easily.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

2 followers

Stats

Asked: 2012-02-19 03:33:27 -0600

Seen: 7,514 times

Last updated: Apr 15 '12