计算右图的深度图

时间:2016-10-06 14:08:02

标签: matlab computer-vision depth stereo-3d

我做了什么: 为了从左图(给定)创建一个新颖的视图(右图),我使用了视图之间纯粹翻译的公式(来自Zissermann书):

X' = x + K.t / Z

x' = [u'      V'      1]; x = [u      v      1]; K = [f 0 cx; 0 f cy; 0 0 1]; t = [t1 t2 t3] ^ T; Z - 左图像中的像素深度

图像和相机矩阵取自Middlebury stereo 2014数据集。

通过实施这个, 由于断裂,我有一个带孔(黑色区域)的图像。

我需要做什么:

为了填补这些漏洞,有几种算法可以在变形之前修改右视图的深度图。

你能告诉我如何找到合成(右)视图的深度图吗?

results matlab 以上是我到现在为止的结果,请帮忙!

1 个答案:

答案 0 :(得分:0)

我的回答实际上是来自Priyamvadha's previous question and my answer to it的解决方法。 如果您有外在/内在参数和3D点,请考虑反转该过程。

  1. 转换(就像你之前的回答一样)右镜头参考系统中的所有3D点(使用外部 R t ,“反转”转型)

  2. 现在您已拥有该系统中的所有3D坐标,请记住Z值与差异紧密相关

  3. 对于每个点及其Z坐标,差异应等于

    D =(b * f)/ Z

  4. b为基线,f为内在函数的焦距。
    您应该已经为您的同步图像获得了同步视差。将每个视差值与合成图像中的对应投影点链接。

    是的,我可以加入所有段落并给你一个独特的公式,但它对你没有任何意义。

    PS如果你没有任何意义,图像中的黑洞将没有深度。