Question

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?

Was it helpful?

Solution

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.

OTHER TIPS

Not sure if it helps you directly, but these guys have some amazing demos of some related techniques: http://grail.cs.washington.edu/projects/videoenhancement/videoEnhancement.htm.

  • 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

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top