【问题标题】:Why does the focal length in the camera intrinsics matrix have two dimensions?为什么相机内在矩阵中的焦距有两个维度?
【发布时间】:2013-04-26 03:25:30
【问题描述】:

pinhole camera model中只有一个焦距在主点和相机中心之间。

但是,在计算相机的内在参数后,矩阵包含

(fx,  0,  offsetx,  0,
 0,  fy,  offsety,  0,
 0,   0,  1,        0)

这是因为图像传感器的像素在 x 和 y 上不是正方形的吗?

谢谢。

【问题讨论】:

    标签: computer-vision camera-calibration perspectivecamera


    【解决方案1】:

    简而言之:是的。为了建立一个可以描述具有矩形像素的相机的数学模型,您必须引入两个独立的焦距。我将引用经常推荐的“Learning OpenCV”(第 373 页),它很好地涵盖了该部分,如果您想了解更多背景信息,我建议您获取:

    焦距fx(例如)实际上是焦距的乘积 镜头的物理焦距和个人的大小 sx 成像器元素(这应该是有意义的,因为 sx 具有像素单位 每毫米,而 F 的单位为毫米,这意味着 fx 是所需的像素单位)。 [...] 重要的是保持 但请记住,sx 和 sy 不能通过任何 相机标定过程,也不是物理焦距F 可直接测量。只有组合 fx = F*sx 和 fy = F*sy 无需实际拆卸相机和测量即可得出 它的组件直接。

    【讨论】:

    • 非常感谢,特别是“学习opencv”的推荐。
    • 那么,如果我想使用 F 并且我可以从相机内部函数中获得 fx 和 fy,我们如何知道 sx 和 sy 的值?
    • 这个说法实际上是错误的,并且具有误导性:“焦距 fx(例如)实际上是镜头的物理焦距和单个成像器元件的尺寸 sx 的乘积". fx 和 fy 以 pixels 为单位测量,因此正确的表达式为:fx [pixel] = focus_length [mm] / imager_element_length [mm/pixel]。也就是说,这是一个部门,而不是产品。很难相信这样的错误居然出现在Learning OpenCV这本书里,但是我身边没有副本可以查……(?)。
    • Google 图书预览确认它确实以这种方式出现在书中。显然,他们对 sx 的定义是 [pixel/mm]。 @Megha:sx 和 sy 的值可能由相机制造商给出。
    • @JoseLuisBlanco sx = 10 像素/mm,f = 35mm,那么 sx*f = 35mm * 10 像素/mm = 350 像素,不是分割
    猜你喜欢
    • 1970-01-01
    • 2017-11-07
    • 2013-08-17
    • 2012-04-27
    • 2020-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多