我正在处理立体视觉任务,希望能够得到双目摄像机与物体之间的距离。我使用的是带有计算机视觉系统工具箱的Matlab。
我使用了“Matlab相机标定工具箱”对相机进行了校准,因此我有左右相机的内参和外参参数(右相机相对于左相机的位置)。我还有一对矫正图片及其视差图。为了估算视差,我使用了Matlab函数disparity()。我知道相机的基线和焦距,但我的结果仍然不正确。
baseline = 70 mm
focal length = 25 mm
disparity = 60 pixels
---------------------
depth = baseline * focal length / disparity = 70 * 25 / 60 = 29 mm
我知道距离大约是600毫米。这个公式正确吗?单位怎么样?毫米 * 毫米 / 像素 != 毫米
。我特别想使用相机矩阵(内部参数)进行计算,但我还没有弄清楚如何操作。非常感谢任何提示。
z = b*F/d*s
还是z = b*F / (d*s)
? - Rody Oldenhuis