首页 文章

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

提问于
浏览
0

在立体声校准之后,当我运行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],但是这会将视差图改变为所有均匀的蓝色 .

1 回答

  • 1

    我搞定了 . (1)校准的左/右和图像和检测数据结构必须匹配 . (2)使用mm作为棋盘方形尺寸 . 英寸会导致故障,因为其他所有都是mm .

相关问题