gpt4 book ai didi

matlab - 立体视觉 : Depth estimation

转载 作者:太空宇宙 更新时间:2023-11-03 19:34:47 26 4
gpt4 key购买 nike

我正在处理立体视觉任务,我想获得立体视觉相机与物体之间的距离。我将 Matlab 与 Computer Vision System Toolbox 结合使用。
我已经使用“用于 Matlab 的相机校准工具箱”校准了相机,因此我有左右相机的内部参数和外部参数(右相机 wrt 左相机的位置)。我还有一对校正后的图片和他们的视差图。为了估计差异,我使用了 Matlab 函数 disparity()。我知道相机的基线和焦距,但我的结果仍然是错误的。

baseline = 70 mm
focal length = 25 mm
disparity = 60 pixels
---------------------
depth = baseline * focal length / disparity = 70 * 25 / 60 = 29 mm

但我知道距离约为 600 毫米。这个公式对吗?单位呢? mm * mm/pixel != mm。特别是我想使用相机矩阵(内部参数)进行计算,但我不知道如何计算。如果有任何提示,我将不胜感激。

最佳答案

如您所说,您必须将单位转换为毫米。为此你需要这个公式

z = (b*F) / (d*s)

mm = (mm * mm) / (pixel * (mm/pixel))

在哪里

  • z = 以毫米为单位的深度
  • b = 以毫米为单位的基线
  • F = 以毫米为单位的焦距
  • d = 像素深度
  • s = 以毫米/像素为单位的传感器尺寸。 (一般都是以um的形式提供的,所以先转换一下)。

编辑

有时您的焦点是以像素为单位,因此您不需要使用传感器尺寸。所以只需使用您的公式:

z = b*F / d
mm = mm * pixel / pixel

关于matlab - 立体视觉 : Depth estimation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19956910/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com