1

For a project, I need to get a UV map of a point cloud from the Kinect. Is there some function in the Kinect SDK which allows us to do that? If not, is there another project which includes this functionality? I would prefer not to reinvent the wheel and write my own code for this if it was already done.

(PS - This must be fully automated, so we cannot use Blender or the like)

Shivam Sarodia
  • 417
  • 1
  • 4
  • 20
  • 1
    A UV map for a point cloud? Why would you need that? What sort of mapping do you want to use? Planar? Cylindrical? Spherical? – Ani Aug 01 '12 at 14:55
  • I'm trying to convert the point cloud image into a texture I can apply to an object in OpenGL. – Shivam Sarodia Aug 01 '12 at 15:00
  • 1
    A point cloud is a 3d structure. Do you want to put this in a volume texture and visualize that in OpenGL? – Ani Aug 01 '12 at 16:11
  • I have an outside mesh to which I want to apply a 2D texture in OpenGL. The 2D texture should contain the colors of the outer point cloud layer. – Shivam Sarodia Aug 01 '12 at 16:41
  • 1
    Again - a point cloud is a 3D structure. To convert it to 2D, you will need to apply a projection. You also want to take this projected image of the point cloud and map it to a mesh? What is the shape of this mesh? Is it convex? Is it static/animated? I would recommend that you describe what you wish to accomplish rather than pieces of it (no thin metal rulers, please http://blogs.msdn.com/b/ericlippert/archive/2003/11/03/a-parable.aspx). Please edit your question to add information, otherwise its going to be hard for anyone to understand enough to help you. – Ani Aug 01 '12 at 17:37
  • 1
    Agree w/ @ananthonline and an additional question, why not just export the raw color data from the color frame? It's already an image. That aside, if you're mapping to another object you need to find an injective mapping between the kinect point cloud and your data. Once you have that you know what vertices in your opengl object match your pointcloud. Since your point cloud was generated from pixel.x and pixel.y you can store that link from pixel to point and then assign the pixel x/y coordinates as your UV. – Jerdak Aug 02 '12 at 19:44

1 Answers1

0

AFAIK there is nothing in the Kinect SDK to do this.

However, there is code to do this in the Point Cloud Library (PCL) which you can find here: http://pointclouds.org/

Specifically, I would take a look at http://www.pointclouds.org/documentation/tutorials/normal_estimation.php

hudsonb
  • 2,214
  • 19
  • 20