How can i convert 2D image coordinates into 3D world coordinates using kinect?

1 view (last 30 days)
Hi everybody, What i want to do is detect a checkerboard pattern using kinect rgb camera and detectCheckerboardPoints() function and convert the 2D image coordinates into 3D world coordinates, distance from kinect sensor is most important for me. I am using imaq adaptor and supportpackage for kinect on Matlab R2014a with Windows 7 64 bit. 1) How can the conversion be achieved? I tried using the depth to cloud function but the depth values are not correct? 2) I also read about the conversion using Kinect's raw depth data but how can i access this data using Matlab? 3) What does the uint16 values returned by the Kinect mean? Are those the distance in mm already?
I would appreciate any help.
Bella

Answers (1)

Stalin Samuel
Stalin Samuel on 20 Oct 2014
  1 Comment
Bella
Bella on 22 Oct 2014
Unfortunately i cannot access this website i am always getting a database error. But i found out some things on my own: 1) the uint16 values of the depth image are indeed the distances in mm 2) i can access the depths for the detected checkerboard points 3) Conversion from depth to world coordinates can be achieved using a depth to point cloud function. But i also encountered some issues: 1) When i access the depth data i need to switch x and y pixel values to get the correct depth values, where does this come from? 2) from the conversion of the depth image to the point cloud the y and z values seem to be correct but the x value is not? Any suggestions on those problems? Thanks in advance, Bella

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!