如何使用立体对合成新的相机视图?
Posted
技术标签:
【中文标题】如何使用立体对合成新的相机视图?【英文标题】:How to synthesize a new camera view using a stereo pair? 【发布时间】:2016-07-11 05:24:41 【问题描述】:我想使用我已经拥有的一对立体相机从任意视点合成虚拟视图。我已经校准了我的立体装置,所以我知道两个相机的内在和外在。我合成新视图的方法是基于 3x4 相机矩阵计算,该矩阵计算基于使用从立体对获得的深度图计算的 [X, Y, Z]
点。然后我使用来自新视图(x, y)
的多点对应关系,并使用方程[x y 1]' = C * [X Y Z 1]'
找出相机矩阵C
。我的问题:
-
这是生成任意视图的正确方法吗?
推荐多少点对应关系以及在哪些平面上计算相机矩阵?因为我使用 6-8 分并没有得到好的结果。我不能使用 SIFT/SURF,因为图像没有特色,我必须手动标记点。
即使我得到了相机矩阵,由于相机矩阵是不可逆的,如何进行前向翘曲。
如果您需要更多信息,请发表评论。
谢谢!
【问题讨论】:
【参考方案1】:简短回答:
-
不,因为您已经有了深度图并且您的装备已经过校准。
无关
无关
您需要做的就是从深度图上构建一个 3D 网格(实际上是一个网格)。根据定义,这将在立体对的任一相机中都没有遮挡。然后,您可以使用来自任一立体相机的视图(或两者,使用基于更复杂的纹理选择算法,例如,哪个视图与每个面更平行,以最大限度地减少拉伸)对网格进行纹理处理。然后,您可以将网格渲染到您希望的任何其他视图中。
【讨论】:
3D 网格是唯一的方法吗?基于图像的渲染和 3D 变形技术怎么样,即不需要完整的 3D 重建。我想在实时场景中进行,因此整个 3D 网格生成可能会非常昂贵。 好吧,您想要“准确”(特别是根据您的重建结果提供准确的遮挡),还是只是“合理”?请注意,严格来说,您不需要完整的网格拓扑,只需要一个局部邻接网格,因为深度图与一个视图垂直(即在该视图中它是 z = f(x,y))。但在实践中,无论如何都会出现一些拓扑问题,因为通常深度图中即使在遮挡物旁边也会有洞。以上是关于如何使用立体对合成新的相机视图?的主要内容,如果未能解决你的问题,请参考以下文章