【发布时间】:2015-03-07 13:28:49
【问题描述】:
我正在研究 KITTI 数据集,我正在拍摄 2 张图像并找到视差以获得 3D 点云。我面临的问题是我无法获得良好的视差图。大部分视差值是小于 0.1。视差值在 0 到 1 之间(我需要缩放它们吗)。 我的音响的参数如下所示
cv::StereoBM sbm;
sbm.state->SADWindowSize = 9;
sbm.state->numberOfDisparities = 112;
sbm.state->preFilterSize = 5;
sbm.state->preFilterCap = 1;
sbm.state->minDisparity = 0;
sbm.state->textureThreshold = 5;
sbm.state->uniquenessRatio = 5;
sbm.state->speckleWindowSize = 0;
sbm.state->speckleRange = 20;
sbm.state->disp12MaxDiff = 64;
sbm(leftimage, rightimage,disp);
normalize(disp, disp8, 0.1, 255, CV_MINMAX, CV_8U);
【问题讨论】:
-
我的直觉是你的窗口尺寸太小了。您的窗口大小为 9 x 9,但如果您查看右侧路标的位移,我敢肯定它比 9 像素窗口大得多。您是否尝试过增加窗口大小? 15岁呢? 25 岁?
-
第二个问题是几乎所有的视差值都在1以下。这不应该是这样的
-
你改变了窗口大小吗?
-
是的 ....我使用 15 时图像更好 ....使用 25 时图像更差 ....所以我厌倦了 15 ......谢谢......我使用从该链接下载的工具箱调整了所有参数martinperis.com/stereobmtuner/stereoBMTuner-1.0.tgz
-
没问题。是的,当你用滑动窗口做视差时,你必须找到正确的窗口。太小意味着您不会捕捉到任何差异......而太大意味着您可能会将错误信息引入比较窗口。尽管使用滑动窗口很快,但它们并不能提供最好的结果。已经有一些关于自适应确定窗口大小的工作。检查 Kanade 和 Okutomi 的工作:cs.cmu.edu/~ph/869/papers/kanade-okutomi.pdf - 无论如何,我要跑题了。很高兴你让它工作!
标签: opencv computer-vision stereo-3d disparity-mapping