Let's say I have N pictures of an object, taken from N know positions. I also have the 3D geometry of the object, and I know all the characteristics of both the camera and the lens.

I want to generate a unique giant picture from the N pictures I have, so that it can be mapped/projected onto the object surface.

Does anybody knows where to start? Articles, references, books?


I'd suspect that this can be done using some variation of projection maps mixed with image reconstruction.


Have a look at cubemapping. It may be useful. You may want to project another convex shape to the cube and use the resulting texture as a conventional cubemap texture.

+1  A: 

Not sure if it helps you directly, but these guys have some amazing demos of some related techniques:


Google up "shadow mapping", as the same problem is solved during that process (images of the scene as seen from some known points are projected onto the 3D geometry in the scene). The problem is well-understood and there is plenty of code.

+1  A: 
  • Generate texture-mapping coords for your geometry
  • Generate a big blank texture
  • For each pixel
    • Figure out the point on the geometry it maps to
    • Figure out the pixel in each image that projects onto this point
    • Colour the pixel with a weighted blend of all these pixels, weighted by how much the surface normal is facing the corresponding camera and ignoring those images where there's another piece of geometry between the point and the camera
  • Apply your completed texture to the geometry