【问题标题】:OpenCV 3.3 reating disparity maps returned smaller sized resultOpenCV 3.3 处理视差图返回更小的结果
【发布时间】:2018-03-17 05:56:36
【问题描述】:

我正在尝试从立体图像中获取视差图。当我尝试stereo_match.cpp 使用下面的图像时,结果图像比原始图像更小,并且图像的左侧丢失。

是关于参数的吗?是什么原因以及如何解决?

如何通过更改参数或其他方式改善结果?

这里是参数:

Ptr<StereoSGBM> sbm = StereoSGBM::create(16, 64, 3, 48, 192, 0, 0,10,200,100);
CV_WRAP static Ptr<StereoSGBM> create(int minDisparity = 0, int numDisparities = 16, int blockSize = 3,
                                          int P1 = 0, int P2 = 0, int disp12MaxDiff = 0,
                                          int preFilterCap = 0, int uniquenessRatio = 0,
                                          int speckleWindowSize = 0, int speckleRange = 0,
                                          int mode = StereoSGBM::MODE_SGBM);

【问题讨论】:

    标签: opencv image-processing depth stereo-3d disparity-mapping


    【解决方案1】:

    这里是视差图创建的理论解释:

    https://www.eecis.udel.edu/~grauerg/globalStereoPresCompVisionClass.pdf

    为了创建视差图或深度图,两个相机上都应该有一个可见的对象。在您的示例中,视差图显示了相机的共同视野。

    如果您想扩大此视野,您可以将相机彼此靠近,但这是有代价的。您在 z 维度上的准确度会降低,噪音会更多。

    【讨论】:

      猜你喜欢
      • 2014-07-18
      • 1970-01-01
      • 2011-10-16
      • 1970-01-01
      • 2013-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多