I have a base 3D mesh of an object that I want to texturize. I also have a 360 degrees video of the real-world object.

What are good ways to use the video to texturize the mesh? Are there existing tools to do that? (paid or free)

Edit: I have complete control over the camera and object positions, I can measure the distances and whatever needed. I can also put markers on the object.

  • Most 3d apps can do this. – joojaa Jun 15 '16 at 9:26
  • Could you add some details?If you could explain the general process in Blender (or any other app) that would be great. – Michael Litvin Jun 15 '16 at 13:28
  • 1
    @MichaelLitvin I think it would be off-topic if you ask "How to do in a specific software" on this site. – A---B Jun 16 '16 at 6:10
  • I'm not asking about just Blender, though a suggestion for how to do this in Blender would be nice. – Michael Litvin Jun 16 '16 at 8:01

One method is to do projection mapping. I understand that most 3D rendering applications can do that. I don't have much experience with them, but I have done it using AfterEffects using the Camera Mapper in Buena Depth Cue.

Algorithmically, it's achieved by projecting the geometry back onto the image to generate texture coordinates. So one way to do that is as follows:

  1. Line up the image of the scene in front of the corresponding geometry
  2. For each triangle in your geometry, project the 3 corners onto the image
  3. The coordinates where the projection hits your image are the texture coordinates you need for that triangle
  • Will this work with perspective projection ? – A---B Jun 16 '16 at 6:09
  • 2
    This is a solution for a single image or frame, not the while video. To use this, the texture maps for many frames will need to be stitched somehow... This is the main problem here. – Michael Litvin Jun 16 '16 at 8:00
  • 1
    unknown @MichaelLitwin they dont need to be stitched, just masked. Its pretty easy all you do is you calculateuseful how much the pixel area is facing the camera tha when the facing drops under a certain treshold mask it out. Then median filter the overlap to remove noise. Then either bake to 2D or just use the projection as is. Any projection works just as long as you can track the projector location in 3D – joojaa Jun 16 '16 at 13:08
  • I don't understand - I'm using several images for texture. These images will meet somewhere, and edge lines won't necessarily meet at exactly the same place. How do I ensure they do? – Michael Litvin Jun 17 '16 at 13:08
  • 1
    @MichaelLitvin you dont need to you can simply let them overlap. – joojaa Jun 20 '16 at 20:02

If I understand you correctly, you have a 3D model, and a video of the real world object? This sounds like a job for photogrammetry. Using a photogrammetry plugin, you can derive a model of what is seen in the video, and a texture map of it. The derived model probably won't be exactly like your 3D model, but you may be able to remap the texture map back onto your 3D model. Doing a search on photogrammetry and blender should give you some good links.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.