【问题标题】:Disparity map from foreground masked images前景蒙版图像的视差图
【发布时间】:2017-06-10 15:25:02
【问题描述】:

我正在尝试提取图像中前景对象的视差图。使用颜色提取前景对象,最终目的是确定提取对象的坐标。下面是提取了带红色对象的视图的蒙版左侧图像

然后就是正确的图像

背景基本上是一个我想被忽略的巨大窗口,我只关心找到带红色(或我以后选择的任何颜色)对象的位置。

把OpenCV例子中SGBM算法的参数玩了一下,主要是

int SADWindowSize
int minDisparity
int numberOfDisparities

我无法得到令人满意的结果,更确切地说,该算法无法很好地处理蒙面部分的均匀纹理。我将发布两个示例来说明。 SADWindowSize 是这些示例中唯一变化的参数,因为它给出了最独特的结果。

示例 1:较小的窗口大小 = 9,视差数 = 64

示例 2:较小的窗口大小 = 23,视差数 = 64

较大的窗口大小会产生更多不希望出现的模糊结果。

问题:计算视差图的时候遮盖背景是不是错误的做法?另一种可能的方法是计算视差图,然后应用蒙版,但我不确定这种情况下结果的合理性。

请注意,已校准相机和图像(和蒙版)。

【问题讨论】:

    标签: opencv computer-vision disparity-mapping


    【解决方案1】:

    在计算深度图之前屏蔽没有意义,因为算法需要比较指定的空间来找到对应的像素。由于大量黑色像素,使用蒙版会导致信息缺失。因此,您尝试的内容对我们来说很直观,但应用程序无法轻松确定哪些像素代表同一个点。

    我不确定,但如果您在视差的左侧视图中使用遮罩,您应该会得到您所期望的。或者屏蔽来自reprojectImageTo3D() 的输出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-05
      • 2014-05-31
      • 1970-01-01
      • 1970-01-01
      • 2019-03-10
      • 2021-08-18
      • 1970-01-01
      • 2022-10-25
      相关资源
      最近更新 更多