Python 投影深度的法线

Python 投影深度的法线,python,projective-geometry,Python,Projective Geometry,我想从深度贴图D(I,j)计算法线贴图N(I,j),其中(I,j)描述2D像素位置。这里讨论了该问题的一个基本情况: 然而,在我的例子中,D(i,j)是投影深度:一个3D对象(由一组3D点给出)通过将齐次坐标中的每个3D点(即4D向量[x,y,z,1].T)乘以[K | 0](定义见下文)投影到2D图像上。在这种情况下,D(i,j)对应于投影命中像素的3D点的范数(i,j) 固有摄像机矩阵由下式给出: [K|0] = |fx 0 ox 0| | 0 fy oy 0|

我想从深度贴图
D(I,j)
计算法线贴图
N(I,j)
,其中
(I,j)
描述2D像素位置。这里讨论了该问题的一个基本情况:

然而,在我的例子中,
D(i,j)
是投影深度:一个3D对象(由一组3D点给出)通过将齐次坐标中的每个3D点(即4D向量
[x,y,z,1].T
)乘以
[K | 0]
(定义见下文)投影到2D图像上。在这种情况下,
D(i,j)
对应于投影命中像素的3D点的范数
(i,j)

固有摄像机矩阵由下式给出:

[K|0] = |fx  0  ox 0|
        | 0 fy  oy 0|
        | 0  0   1 0|
其中fx/fy是沿x/y轴的焦距,ox/oy是沿x/y轴的相机偏移


在这种设置下,N(i,j)的法线是什么?

你能解决这个问题吗?标准化步骤是否使其成为不适定问题,在这种情况下,您需要额外的约束,例如从不同角度拍摄的图像来解决此问题?