I'm creating a 3d map of an object in Python using a method called Photometric Stereo. Essentially, I use different photos of the object taken at different lighting angles as well as the light source direction vector to create a normal vector map of the surface.
I've been able to create a pretty good normal vector map and albedo image using this method. The problem I'm facing is that I'm not sure how to create a 3d map from the surface normals.
I've tried different approaches, from a script that uses computer vision and a little calculus to generate a 3d map (which wasn't accurate) to using matplotlib's quiver plot to draw the vectors in (it didn't come out super clearly, and I don't think I did it right anyways).
I know that it's definitely possible to create a 3d map from the surface normals, but I'm not sure how. Any advice is appreciated! Thanks!