Ask Your Question
0

kinect calibration problem?

asked 2016-11-14 12:48:35 -0600

santhukar gravatar image

image descriptionI calibrated my kinect XBOX 360(model 1473) with ubuntu and ros tutorial (http://wiki.ros.org/openni_launch/Tut...) however my kinect doesnt function with openni, I am using libfreenect . I tested my kinect with edge detection function as image shows, The image i am getting is offset. please help me rectify this. Thank you

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted
1

answered 2016-11-15 03:28:18 -0600

kbarni gravatar image

The Kinect should function with OpenNI; probably that's the best way to use it. If you use OpenNI, you can capture directly using OpenCV. But Libfreenect is also good.

On the other hand, as the document says, you don't have to calibrate the Kinect, only if you need some very accurate measurements. It already has a factory calibration.

To correct the offset between the RGB and depth images, you have to enable the RGB-depth registration with the freenect_map_rgb_to_depth function.

Otherwise it's not a good idea to do edge detection on the depth image directly. It has some "holes" (parts without depth data) which will always give strong contours.

edit flag offensive delete link more

Comments

Thank you, I will work on that .

santhukar gravatar imagesanthukar ( 2016-11-15 06:40:32 -0600 )edit

where is this freenect_map_rgb_to_depth ?, can you please point me towards it?

santhukar gravatar imagesanthukar ( 2016-11-15 23:59:27 -0600 )edit

it's in the libfreenect_registration.h file. (here line 125).

In OpenNI it's the setImageRegistrationMode(IMAGE_REGISTRATION_DEPTH_TO_COLOR) function.

kbarni gravatar imagekbarni ( 2016-11-16 04:10:41 -0600 )edit

Thank you, can you point me how to get 3D map after aligning depth and rgd image?, I thought of using reprojectImageTo3D() but it requires Q matrix,for Kinect how can compute Q matrix and disparity matrix?

santhukar gravatar imagesanthukar ( 2016-11-16 05:59:50 -0600 )edit

it's freenect_camera_to_world (or convertDepthToWorld in OpenNI).

kbarni gravatar imagekbarni ( 2016-11-16 07:21:37 -0600 )edit

does freenect_camera _to_world() gives me matrix Q?

santhukar gravatar imagesanthukar ( 2016-11-16 07:24:53 -0600 )edit

No, it gives you the 3D position of each pixel, so you can build a 3D map.

kbarni gravatar imagekbarni ( 2016-11-16 07:51:37 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2016-11-14 12:48:35 -0600

Seen: 475 times

Last updated: Nov 15 '16