立体匹配中的视差图和视差图有啥区别?

Posted

技术标签:

【中文标题】立体匹配中的视差图和视差图有啥区别?【英文标题】:What is the difference between a disparity map and a disparity image in stereo matching?立体匹配中的视差图和视差图有什么区别? 【发布时间】:2013-07-10 13:08:19 【问题描述】:

我是立体匹配的新手。我无法理解差异的概念。什么是视差图和视差图,它们有什么区别?

【问题讨论】:

【参考方案1】:

了解视差的最简单方法之一是眨眼,一次眨眼,左右眼交替。如果你观察,离你近的物体似乎会比离你更远的物体更多地跳动它们的位置。随着物体移开,这种转变将变得可以忽略不计。因此,在视差图中,较亮的阴影表示与视点(相机)的距离更大,距离更小。较深的阴影代表较小的偏移,因此与相机的距离较远。

【讨论】:

【参考方案2】:

差异

视差是指立体对的左右图像中两个对应点之间的距离。如果您查看下图,您会看到标记的点 X(忽略 X1、X2 和 X3)。沿着从 X 到 OL 的虚线,您可以看到在 XL 处与左侧平面的交点。同样的原则也适用于右侧的图像平面。

如果 X 投影到左帧 XL = (u,v) 和右帧 XR = (p,q) 中的一个点,您可以找到该点的视差作为 (u ,v) 和 (p,q)。 显然,这个过程涉及在左侧帧中选择一个点,然后在右侧图像中找到它的匹配点(通常称为对应点);在不犯很多错误的情况下,这通常是一项特别困难的任务。

视差图/图像

如果您要对左侧图像中的每个像素执行此匹配过程,在右侧框架中找到其匹配项并计算它们之间的距离,您最终会得到一个每个像素都包含距离/视差值的图像对于左侧图像中的那个像素。

示例

给定一张左图

还有一张正确的图片

通过将左侧图像中的每个像素与右侧图像中的对应像素进行匹配,并计算像素值之间的距离(差异),您最终应该得到如下所示的图像:

此底部图像称为视差图像/地图。执行立体匹配时要阅读的一个有用主题是rectification。这将使左右图像中的像素匹配过程大大加快,因为搜索将是水平的。

【讨论】:

这是一个很好的概述,但它听起来几乎像是任务是确定性的,我认为在现实世界条件下一般情况并非如此。

以上是关于立体匹配中的视差图和视差图有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

立体匹配:关于OpenCV读写middlebury网站的给定的视差的代码

立体匹配入门指南:视差图深度图点云

立体匹配入门指南:视差图深度图点云

立体匹配入门指南:视差图深度图点云

立体匹配入门指南:视差图深度图点云

立体匹配入门指南:视差图深度图点云