3

我正在尝试计算镜头的焦距(我有 4 个不同的镜头,我将它们称为镜头 1、2、3、4)。我知道我正在使用的相机的传感器尺寸(我正在使用 2 个不同的相机),我知道物体的宽度,并且我知道工作距离。

我正在使用以下公式:

f = 焦距宽度=(工作距离*传感器宽度)/(物体宽度+传感器宽度)

我也使用了相同的公式,稍作改动:

f' = 焦距=(工作距离*传感器宽度)/物体宽度

我的相机的传感器尺寸如下:

型号:134MCU - 1/3" - 3,52 mm * 4,78 mm

型号:130CU - 1/4" - 2,75 mm * 3,64 mm

这就是问题所在,我用两个相机从已知的工作距离拍了几张照片,并测量了图像宽度(我在图像场景中放置了一把尺子)。之后,我使用给定的公式计算了ff' 。在计算焦距后,我提出了几个观察结果,我认为这些观察结果不一致。观察结果如下:

  1. 随着工作距离的增加,每个镜头的计算焦距会收敛到某个值。我期待为每个工作距离计算相同的ff'值。为什么会这样?是否对工作距离有任何依赖性,或对工作距离有任何限制(例如,对于焦距f mm工作距离不能小于n的镜头)?
  2. 我有 8 种不同的成像设置,因为我有 4 个镜头和 2 个相机。对于镜头 1 和镜头 2,使用 134MCU 拍摄的图像计算的ff'值与使用 130CU 拍摄的图像不同。镜头 3 和 4 的计算值相同。为什么会发生这种情况?

    • 使用130CU计算出的lens 1值约为1.6 mm
    • 使用130CU计算出的lens 2值约为2.4 mm
    • 使用130CU计算出的镜头 3值约为2.8 毫米
    • 使用130CU计算出的镜头 4值约为3.6 毫米
    • 使用134MCU计算出的lens 1值约为1.4 mm
    • 使用134MCU计算出的lens 2值约为2.2 mm
    • 使用134MCU计算出的镜头 3值约为2.8 毫米
    • 使用134MCU计算出的镜头 4值约为3.6 毫米
  3. 当我与镜头供应商交谈时,他们告诉我镜头 1、2、3、4 的焦距分别为 2.1 毫米、2.5 毫米、2.8 毫米和 3.6 毫米。那么,为什么我的计算值与这些不匹配?我的计算有什么问题吗?

我使用的图像可以在这里找到。如果有人能提供帮助,我将不胜感激。

问候,

居内·凯伊姆

4

2 回答 2

2

我刚刚下载了你发布的图片,答案就在我们面前。

您使用的公式假设每条光线从物体到传感器以直线传播。实际上,这些广角镜头具有相当复杂的多个表面,光线在穿过“堆栈”时会多次改变方向。结果,向边缘有明显的失真。标尺上线条的高度越靠近边缘越小——“完美的针孔相机”会让它们保持精确的比例。

很难想出一个正确解释这种失真的方程——通常相机的计量应用(人们真正关心这些事情)会在感兴趣的焦距处进行几何校准以纠正它。

所以你的问题的答案是“我的计算有什么问题吗?” 是这样的:“是的,有问题-您的计算是针对理想系统的。您没有理想系统。”

编辑在我看来,您可以通过使用“更小的传感器”来做一些更好的事情:

  1. 拍摄您已有的图像
  2. 查看图像的一部分(靠近中心)
  3. 找出标尺上两个标记之间跨度小于传感器宽度 10% 的距离(以像素为单位)
  4. 计算“表观传感器尺寸”=(number of pixels between markers / number of pixels across sensor) * sensor width
  5. 在计算中使用表观传感器尺寸

通过使用可变数量的像素(与标尺上的精确分割数匹配),您可以限制您必须执行的估计/插值量。我认为这将解决大部分失真问题,并为您提供与制造商数据一致的结果。

于 2013-08-14T12:58:19.033 回答
0

你的计算假设一个理想的针孔系统,你显然没有。您的广角镜头表现出极大的失真。尝试将您的测量限制在您的光学系统的中心,这似乎是无失真的。您应该得到更符合制造商指定焦距的结果。

编辑:弗洛里斯上面所说的……</p>

于 2013-08-14T13:12:30.783 回答