【发布时间】:2018-06-08 11:52:18
【问题描述】:
鉴于我有:
* 3D 物体网格(*.obj 文件)
* 相机内在函数
* 相机/物体姿势
我需要以某种方式(在 python 中)为每个像素获取对象模型的相应 3D 坐标(如果可用)。类似于深度图 (https://en.wikipedia.org/wiki/Depth_map)。
可以通过寻找网格中所有三角形与每个像素和投影矩阵产生的线之间的交点来做到这一点。然后得到离相机更近的路口。但是必须有更快更优雅的方式。我一直在研究光线投射和 PyOpenGL 框架,但我仍然不知道该怎么做。有人可以帮忙吗?
【问题讨论】:
-
如果您需要整个图像,只需将模型渲染到深度图即可。 GPU 专门用于此类任务。
-
写了an answer关于如何在pyopengl中获取深度缓冲区的另一个问题,这可能是helpfil。至于加载 3d 模型,您可以使用 assimp 之类的库来自动读取具有 python 绑定的 obj 文件。
标签: python computer-vision geometry render