我需要一些帮助来使用 openCV 库继续我的代码,以便找到相机中看到的对象的深度值。
我已经完成了校准并找到了视差图,我找不到如何计算相机拍摄的两张照片中每个像素的深度值的明确帮助。
谁能帮我?谢谢
我需要一些帮助来使用 openCV 库继续我的代码,以便找到相机中看到的对象的深度值。
我已经完成了校准并找到了视差图,我找不到如何计算相机拍摄的两张照片中每个像素的深度值的明确帮助。
谁能帮我?谢谢
这是您的问题的链接,包括一个简单的深度估计算法: http ://www.epixea.com/research/multi-view-coding-thesisse13.html
您可以使用这些公式来计算点云 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。
但是,如果您设法校准相机并获得视差图,您必须已经知道这一点。校准和视差图计算是比上述计算复杂一个数量级的任务。