我想使用我已经拥有的立体相机从任意视点合成虚拟视图。我已经校准了我的立体声装备,所以我知道两台相机的内在和外在。我合成新视图的方法基于 3x4 相机矩阵计算,该矩阵基于使用从立体对获得的深度图计算的[X, Y, Z]
点。然后,我使用来自新视图(x, y)
的多点对应,并使用方程[x y 1]' = C * [X Y Z 1]'
找出相机矩阵C
。我的问题:
- 这是生成任意视图的正确方法吗?
- 推荐多少个点对应,在什么平面上计算相机矩阵?因为我使用 6-8 分没有得到好的结果。我不能使用SIFT/SURF,因为图像没有特征,我必须手动标记点。
- 即使我得到了相机矩阵,如何进行前向扭曲,因为相机矩阵是不可逆的。
如果您需要更多信息,请发表评论。
谢谢!
简短的回答:
- 否,因为您已经有了深度图并且您的装备已校准。
- 不切题的
- 不切题的
您需要做的就是根据深度图构建一个 3D 网格(实际上是网格)。根据定义,这将在立体声对的任何摄像头中都没有遮挡。然后,您可以使用来自任一立体相机的视图(或两者兼而有之,使用基于算法的更复杂的纹理选择算法)对网格进行纹理处理,例如,哪个视图与每个面更平行,以最大程度地减少拉伸)。然后,您可以将网格渲染到所需的任何其他视图中。