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?
0 个评论
回答(2 个)
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
2024-2-16
Hi, prof. @George Abrahams
Could you please guide me on how to replace PROJECTION_MATRIX with a camera Intrinsics (K)?
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
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?
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Lighting, Transparency, and Shading 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!