【问题标题】:Same intrinsic parameter for same camera?相同相机的内在参数相同?
【发布时间】:2013-09-16 12:00:25
【问题描述】:

我正在开发一款移动增强现实应用。我需要使用棋盘校准来校准我的相机以获取内部和外部参数。

我是否可以假设,如果我校准我的 nexus 4,所有 nexus 将具有相同的焦距、偏斜因子和失真矩阵?

谢谢

【问题讨论】:

  • 如果您假设所有 nexus 4 设备都具有完全相同的摄像头,是的!这里最有价值的词正是
  • 在现实生活中,nexus4 有完全相同的相机吗?我猜没有……?
  • 除非您需要真正的高精度,否则假设所有这些手机都进行相同的校准应该是安全的。

标签: opencv camera-calibration


【解决方案1】:

嗯,答案可以是“是”也可以是“否”。正如您所说,在现实生活中,没有一台相机与另一台相机完全相同,即使它们来自同一制造商。但是,为了让我们的生活更轻松,是的,我们使用这种简化,即使对于摄影测量/计算机视觉项目,精度要求也相当高。

【讨论】:

    【解决方案2】:

    大多数相机都带有编码到相机管道中的不失真操作,因此您很可能根本不需要搜索失真参数。只需检查图像外围的直线是否真的是直的。我希望偏斜接近于零并且 fx=fy 因为像素是方形的。

    除了您提到的参数外,还有两个主要点 Cx、Cy(光轴与传感器的交点通常接近 w/2、h/2)。所以总的来说,你只有 3 个参数:F、Cx、Cy,第一个参数在同一型号的手机中变化最大(根据我的经验)。如果您不使用手机来计算另一个相机的相对位置,您很可能只需要准确了解焦距。

    显然,当您需要担心单个参数时,有更简单的方法来获取它,而不是使用棋盘装置并尝试找到除内在参数之外的外在参数。即使没有测量,您也可以计算出来 - 只需获取相机视野(例如 getHorizo​​ntalViewAngle())并使用

    tan(fov) = image_width/2 / f
    

    或者你可以做一个简单的测量,让你的手机与目标平行:对于一个大小为 H 的垂直目标,它产生 h 像素的图像,你得到 f

    f/z = h/H
    

    【讨论】:

      【解决方案3】:

      嗯...如果这个相机有内置的自动对焦,焦距会一直改变

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-10-30
        • 1970-01-01
        • 2015-01-02
        • 2012-06-24
        • 1970-01-01
        • 2014-06-03
        • 1970-01-01
        • 2013-10-15
        相关资源
        最近更新 更多