Texture mapping on a 3D face from 2D face image
What you're trying to do is more in the image synthesis / computer graphics domain (technically, it's "texture mapping") than it is in the image-processing domain, so it's not obvious that Matlab/OpenCV are going to have any relevant supporting functionality.

If I had the same problem in my (preferred) Python/SciPy/Matplotlib world, I'd probably see if mplot3d's surface plotting was up to the job (passing the 2D image as the facecolors parameter).  However general experience is that it doesn't deal well with 100s x 100s size grids, only a few 10s x 10s.  Sorry, I don't know what Matlab's equivalent is.  (And if mplot3d wasn't up to the job I'd be looking at the mlab VTK wrapping's texture mapping support).