Matlab/OpenCV立体视觉距离测量不准确



在立体声校准后,当我运行Matlab示例进行立体声深度估计(SDE)时,距离是错误的:在大约2米时,它总是报告距离小于1米。我的3D场景重建看起来是锥形的,而不像真实的场景。视差贴图非常嘈杂(不平滑),但与场景相似。

如果我给SDE脚本提供示例文件,而不是摄像头输入,它运行良好,一切看起来都很棒;当我从两个网络摄像头('Logitech HD Pro Webcam C920')馈送它时,我得到了上述糟糕的结果,从粗略的视差图开始。

我已经尝试了许多不同的校准尝试,只有几个图像高达约60,Matlab的棋盘图案在不同的角度(从不> 45)和距离相机约8至20'。相机镜头总是间隔3.8175英寸,安装在笔记本电脑的上边缘。遵循Matlab推荐的工作流程。

我在校准中做错了什么?

Matlab R2015a

。笔记本电脑Windows 7 64位棋盘图案为37" x 27"

............刚发现的问题:我用这个来创建视差图:disparityMap = disparity(frameeftgray, frameightgray);然而,我的相机#1在右边,Matlab说默认的视差范围是[0 64]和相机#1的权利,它应该是[-128 0],但这改变了视差映射到所有统一的蓝色。

我让它工作了。(1)左/右标定图像与检测数据结构必须匹配。(2)棋盘正方形尺寸采用mm。英寸导致故障,因为其他单位都是毫米。

最新更新