Matlab 计算右侧图像的深度贴图

Matlab 计算右侧图像的深度贴图,matlab,computer-vision,depth,stereo-3d,Matlab,Computer Vision,Depth,Stereo 3d,我所做的: 为了从左视图(给定)创建一个新视图(右视图),我使用了视图之间的纯转换公式(来自Zissermann书),如下所示: x'=x+K.t/Z x'=[u' v' 1]; x=[u v 1]; K=[f0cx;0fcy;01]; t=[t1 t2 t3]^t; Z-左侧图像中像素的深度 图像和相机矩阵取自Middlebury stereo 2014数据集 通过实施,, 我有一张由于混淆而出现黑洞的图片 我需要做的是: 为了填补这些漏洞,存在几种在扭曲之前修改右视图深度贴图的算法 你能告诉

我所做的: 为了从左视图(给定)创建一个新视图(右视图),我使用了视图之间的纯转换公式(来自Zissermann书),如下所示:

x'=x+K.t/Z

x'=[u' v' 1]; x=[u v 1]; K=[f0cx;0fcy;01]; t=[t1 t2 t3]^t; Z-左侧图像中像素的深度

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

通过实施,, 我有一张由于混淆而出现黑洞的图片

我需要做的是:

为了填补这些漏洞,存在几种在扭曲之前修改右视图深度贴图的算法

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


以上是我到目前为止得到的结果,请帮忙

我的答案实际上是一个解决方法。 如果你有外在的/内在的参数和3D点,考虑扭转这个过程。
  • 变换(正如您在我前面的回答中所做的那样)右侧相机参考系统中的所有3D点(使用外部Rt,“反转”变换)

  • 现在您已经拥有该系统中的所有三维坐标,请记住Z值与视差密切相关

  • 对于每个点及其Z坐标,视差应等于

    D=(b*f)/Z

  • b为基线,f为来自intrinsics的焦距。
    你应该为你的合成图像获得合成的视差。将每个视差值与合成图像中对应的投影点链接

    是的,我可以加入所有的文章,给你一个独特的公式,但这对你来说没有任何意义


    PS如果你没有观点,图像中的黑洞将没有深度。

    我的答案实际上是一个解决方法。 如果你有外在的/内在的参数和3D点,考虑扭转这个过程。
  • 变换(正如您在我前面的回答中所做的那样)右侧相机参考系统中的所有3D点(使用外部Rt,“反转”变换)

  • 现在您已经拥有该系统中的所有三维坐标,请记住Z值与视差密切相关

  • 对于每个点及其Z坐标,视差应等于

    D=(b*f)/Z

  • b为基线,f为来自intrinsics的焦距。
    你应该为你的合成图像获得合成的视差。将每个视差值与合成图像中对应的投影点链接

    是的,我可以加入所有的文章,给你一个独特的公式,但这对你来说没有任何意义


    PS如果没有点,图像中的黑洞将没有深度。

    非常感谢!非常感谢你!