如何在立体三角剖分中找到距特定摄像机的欧几里得距离,而不是距基线的垂直距离?

时间:2019-05-17 09:59:14

标签: opencv linear-algebra camera-calibration 3d-reconstruction

我想使用立体三角剖分原理以世界单位计算图像像素的深度。使用立体三角测量原理,人们可以从连接左右摄像机的基线获得垂直距离。我想从左摄像机而不是基线计算深度。我正在使用单个相机捕​​获两个图像。我的相机安装在移动的车辆上。我连续拍摄两个图像。当车辆在两个视图之间移动基线时,该基线与观察方向不平行。我使用三角剖分原理来计算特定图像像素的距离。我通过单击鼠标从左右图像中手动选择相应的像素。

让(x1,y1)和(x2,y2)分别是左右图像的相应像素。 “ CamDistance”是捕获两个视图之间的距离。通过计算视差,我可以得到世界单位像素的深度。但是获得的深度是距基线的垂直距离。我想从左右摄像机计算深度。请建议我在以下公式中进行哪些更改,以根据相机而不是基准线计算深度。

我尝试了以下函数来计算像素深度

def PixDistance(x1,y1,x2,y2):

    Disparity=x1-x2
    Depth=CamDistance*f/Disparity
    AbsDepth=abs(Depth)
    return AbsDepth;

enter image description here

谢谢!

0 个答案:

没有答案