【发布时间】:2014-07-18 14:16:56
【问题描述】:
谁能解释一下视差图到底返回了什么。因为文档中给出的内容不多,而且我有一些相关的问题。
- 它是否返回两个图像的像素差值?
-
如何在深度估计公式中使用视差值,即
Depth = focalLength*Baseline/Disparity 我在某处读到视差图给出了深度 f(z) 的函数
请解释它的含义。如果深度纯粹是一个绝对值,它如何生成为一个函数,或者它是一个关于像素的函数?
【问题讨论】:
谁能解释一下视差图到底返回了什么。因为文档中给出的内容不多,而且我有一些相关的问题。
如何在深度估计公式中使用视差值,即
Depth = focalLength*Baseline/Disparity
我在某处读到视差图给出了深度 f(z) 的函数
请解释它的含义。如果深度纯粹是一个绝对值,它如何生成为一个函数,或者它是一个关于像素的函数?
【问题讨论】:
两个对应图像点的差异d = pl − pr称为视差。
这里,pl是左立体图像中点的位置,pr是右立体图像中点的位置。
对于平行光轴,视差为d = xl − xr
⇒ 搜索深度信息相当于搜索视差,即对应像素 距离与视差成反比
视差值在所谓的视差图中可视化,参考图像(此处:左)中每个像素的每个视差值被编码为灰度值。同样对于没有任何对应关系的像素,定义了一个灰度值(这里:黑色)。所谓groundtruth-map就是包含对应问题理想解的视差图。
视差与深度信息的关系:
下图代表两个摄像头(左和右),然后尝试找到 点 p(x_w, z_x) 的深度。
深度的结果是给我的:
所以,可以看出深度与视差成反比。
更新:
要计算视差,您需要两个图像 (1) 左图像和 (2) 右图像。假设左侧图像中position (60,30) 处有一个像素,右侧图像中position (40,30) 处存在相同像素,那么您的差异将是:60 - 40 = 20。因此,视差图为您提供了左图像和右图像之间像素位置之间的差异。如果左侧图像中存在像素但右侧图像中不存在,则视差图中该位置的值将为零。一旦你得到左图每个像素的视差值,我们就可以使用我答案末尾给出的公式轻松计算深度。
【讨论】: