Creating a depth map of a 3D surface
16 views (last 30 days)
Show older comments
I want to create a depth map of a 3D object (ie some 3D object like a sphere or cube plotted with surf or mesh) from an arbitrary perspective. I could write a primary ray-tracing algorithm but this seems like a lot of overhead. Is there any pre existing function to do something like this?
0 Comments
Answers (2)
George Abrahams
on 10 Feb 2024
Hi @Ben. My 3D Rendering Toolbox on File Exchange will easily handle this, assuming that you want a perspective projection. For example, you can see the toolbox generating a depth map in the figure below.
2 Comments
Mohannad
on 16 Feb 2024
Hi, prof. @George Abrahams
Could you please guide me on how to replace PROJECTION_MATRIX with a camera Intrinsics (K)?
George Abrahams
on 28 Feb 2024
Hi @Mohannad. I've just published an update to the ProjectionMatrix class to convert an intrinsic matrix to a projection matrix, which is required to perform rendering with the toolbox. The syntax is:
obj = ProjectionMatrix(intrinsicMatrix, imageSize, near, far)
As with everything else, there's detailed documentation about the inputs and so on in the code.
Walter Roberson
on 13 Mar 2014
Would this be like projecting perpendicular to the perspective and then taking the point by point max() of the resulting z values?
0 Comments
See Also
Categories
Find more on Lighting, Transparency, and Shading in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!