Creating a depth map of a 3D surface

16 次查看(过去 30 天)
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?

回答(2 个)

George Abrahams
George Abrahams 2024-2-10
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 个评论
Mohannad
Mohannad 2024-2-16
Could you please guide me on how to replace PROJECTION_MATRIX with a camera Intrinsics (K)?
George Abrahams
George Abrahams 2024-2-28
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
Walter Roberson 2014-3-13
Would this be like projecting perpendicular to the perspective and then taking the point by point max() of the resulting z values?

类别

Help CenterFile Exchange 中查找有关 Lighting, Transparency, and Shading 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by