在立体声校准之后,当我运行Matlab示例进行立体深度估计(SDE)时,距离是错误的:在大约2米处,它总是报告距离小于1米。 我的3D场景重建看起来像锥形而不是像真实的场景。 视差图非常嘈杂(非光滑),但类似于场景。
如果我'给SDE脚本提供示例文件而不是网络摄像头输入,它运行正常,一切看起来都很棒;当我从两个网络摄像头('Logitech HD Pro网络摄像头C920')喂它时,我得到了上面不好的结果,从粗糙的视差图开始。
我尝试了很多不同的校准尝试,只有几张图像高达60左右,Matlab的棋盘图案处于不同的角度(从不> 45),与摄像机的距离约为8到20'。相机镜头始终相距3.8175英寸,并安装在笔记本电脑的顶部边缘。遵循Matlab推荐的工作流程。
校准时我做错了什么?
Matlab R2015a。 笔记本电脑Windows 7 64位 棋盘图案为37“x 27”
............刚发现的问题: 用这个创建视差图: disparityMap = disparity(frameLeftGray,frameRightGray); 但是,我的相机#1在右边,Matlab说默认差异范围是[0 64],而对于凸轮#1,它应该是[-128 0],但这会将视差图改变为所有均匀的蓝色。
答案 0 :(得分:1)
我得到了它的工作。 (1)校准的左/右和图像和检测数据结构必须匹配。 (2)使用mm作为棋盘方形尺寸。英寸会导致故障,因为所有其他都是mm。