openCV来自两个校准相机的深度图,形成立体系统

时间:2012-08-24 07:47:50

标签: opencv depth stereoscopy

我想帮助我使用openCV库继续我的代码,以便找到相机中看到的对象的深度值。

我已经完成了校准并找到了差异图,我无法找到如何计算相机拍摄的两张照片中每个像素的深度值的明确帮助。

任何人都可以帮助我吗? 谢谢

2 个答案:

答案 0 :(得分:1)

以下是您的问题的链接,包括一个简单的深度估算算法: http://www.epixea.com/research/multi-view-coding-thesisse13.html

答案 1 :(得分:1)

您可以使用这些公式计算点云3D坐标:

Z = fB/D
X = (col-w/2)*Z/f
Y = (h/2-row)*Z/f

其中X,Y,Z是世界坐标,f-校准后相机的焦距(以像素为单位),B是基线或相机分离,D是视差; col,row表示图像中像素的列和行坐标,尺寸为h,w。

但是,如果您设法校准相机并获得视差图,则必须已经知道这一点。校准和视差图计算比上述计算更复杂。