Ask Your Question
0

kinect opencv

asked May 05 '11

dinect gravatar image dinect
1 1 1 1

I'm trying to use the depth data obtained by kinect with C++ program.

I've already installed openni_kinect with the guide(http://www.ros.org/wiki/openni_kinect, OpenNI itself is installed in this procedure, right?). Next, I'd like to use the depth data with C++ program, but I don't have any idea to do it. Include and use some special function? Or not supported yet?

Could you teach me how to do it? I'm using Ubuntu10.04, diamondback and I'd like to use the depth data in image processing using OpenCV2.2.

Thank you in advance.

delete close flag offensive retag edit

2 Answers

Sort by ยป oldest newest most voted
6

answered May 05 '11

fergs gravatar image fergs
3982 16 38 69
http://www.showusyoursens...

updated May 05 '11

There are at least two ways to use the depth data from the Kinect. First, you mention OpenCV. If you want to use OpenCV with the depth data you would probably want to subscribe to the /camera/depth/image topic, which provides a "depth" image. Each pixel value is the distance measurement in meters (as a 32-bit float). You would probably want to use cv_bridge to convert the ROS topic into an OpenCV cv::Mat -- there is a very good tutorial on cv_bridge. A simple piece of example code could be found in our depth_viewer package, which includes a C++ node that uses cv_bridge and converts the 32-bit float to a nicely scaled 8-bit grayscale image and displays it using OpenCV functions. You can use just about any OpenCV functions on the depth image, and of course segmentation runs fairly easy on a depth image compared to an RGB one.

The other possibility is to use the point cloud representation, on the /camera/depth/points or /camera/rgb/points topic (the latter having RGB data in addition to the standard XYZ data). Rather than using OpenCV, you would want to use the Point Cloud Library, which has many great features and accompanying tutorials.

link delete flag offensive edit
0

answered May 05 '11

Asomerville gravatar image Asomerville
1700 5 21 54
http://www.resquared.com/

It's unlikely that anyone has time to teach you, you'll have to do that yourself. I would recommend going through the ros tutorials first.

But the openni_camera package within the openni_kinnect stack has a node that publishes on the /camera/rgb/points and /camera/depth/points topics.

In the future I would recommend that you try to ask more specific questions. Most people are unlikely to have the time or patience to answer open ended questions.

link delete flag offensive edit

Comments

Too harsh ? Asomerville (May 05 '11)edit

Your answer

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[hide preview]

Question tools

Follow
1 follower

subscribe to rss feed

Stats

Asked: May 05 '11

Seen: 953 times

Last updated: May 05 '11