2
$\begingroup$

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.

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

2 Answers 2

1
$\begingroup$

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
$\endgroup$
5
  • $\begingroup$ Will this work with perspective projection ? $\endgroup$
    – user3437
    Commented Jun 16, 2016 at 6:09
  • 2
    $\begingroup$ 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. $\endgroup$ Commented Jun 16, 2016 at 8:00
  • 1
    $\begingroup$ 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 $\endgroup$
    – joojaa
    Commented Jun 16, 2016 at 13:08
  • $\begingroup$ 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? $\endgroup$ Commented Jun 17, 2016 at 13:08
  • 1
    $\begingroup$ @MichaelLitvin you dont need to you can simply let them overlap. $\endgroup$
    – joojaa
    Commented Jun 20, 2016 at 20:02
0
$\begingroup$

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.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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