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

如果我将示例文件而不是网络摄像头输入“馈送”到SDE脚本中,则它可以正常运行,一切都很好。当我从两个网络摄像头(“Logitech HD Pro网络摄像头C920”)进行馈送时,就是这样,我得到了上述不良结果,首先是粗糙的视差图。

我已经尝试了许多不同的校准尝试,仅使用了几张最多约60张的图像,而Matlab的棋盘格图案处于不同的 Angular (从不大于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)校准的左/右和图像以及检测数据结构必须匹配。 (2)使用mm作为棋盘方格尺寸。英寸会引起故障,因为其他所有单位均为毫米。

关于matlab - Matlab/OpenCV立体视觉距离测量不准确,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31278666/

10-11 22:42
查看更多